Bonjour à tous,
Je suis en train de développer un projet dont le but est de faire communiquer un mini-serveur web géré par microcontroleur avec une interface en C#
Pour l'instant mon mini-serveur est conçu pour me renvoyer un chaine de caractère lorsque je fais une requête get.
Lorsque je fais cette requête via firefox ma chaîne de caractère est bien affichée. Par contre quand je passe au C# en faisant la même requête cela ne fonctionne pas. J'ai un message "violation du protocole. Voici mon codeSi quelqu'un à une piste à creuser car pour le moment je suis perdu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Net; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //static void Main(string[] args) { // used to build entire input StringBuilder sb = new StringBuilder(); // used on each read operation byte[] buf = new byte[8192]; // prepare the web page we will be asking for HttpWebRequest request = (HttpWebRequest) WebRequest.Create("http://192.168.20.60/s"); // execute the request HttpWebResponse response = (HttpWebResponse) request.GetResponse(); // we will read data via the response stream Stream resStream = response.GetResponseStream(); string tempString = null; int count = 0; do { // fill the buffer with data count = resStream.Read(buf, 0, buf.Length); // make sure we read some data if (count != 0) { // translate from bytes to ASCII text tempString = Encoding.ASCII.GetString(buf, 0, count); // continue building the string sb.Append(tempString); } }
Merci
Partager