Bonjour.

J'ai un code simple dans lequel une Socket se charge d'envoyer un message texte (Send) à la machine locale et de le recevoir (Receive) sur la même machine et puis de l'afficher sur la console.

Voici le code :

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
 
private static void testSocketSendReceive()
{
   try
   {
    Encoding ASCII = Encoding.ASCII;
    String strRetPage = null;
 
    Socket s = connectSocket(Dns.GetHostName(), 80);
 
    if (s.Connected)
    {
        Byte [] Message = 
                 System.Text.Encoding.ASCII.GetBytes("Test envoi de données");
 
                 Byte[] RecvBytes = new Byte[256];
 
        int OctetsEnvoyes = 
                 s.Send(Message, 0, Message.Length, SocketFlags.None);
 
        Int32 bytes = s.Receive(RecvBytes, RecvBytes.Length, 0);
 
        strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);
 
        Console.WriteLine(strRetPage);
        Console.ReadLine();
            }
 
    else
    {
    Console.WriteLine("Non connectée");
    }
 
}
catch (SocketException e)
{
             Console.WriteLine(e.Message);
    Console.ReadLine();
}
}
Mon but est d'obtenir en sortie de console la phrase "Test envoi de données"; à la place, j'obtiens les lignes suivantes :

HTTP/1.1 400 Bad Request
Content-Type: text/html
Date: Wed, 21 Jun 2006 12:55:39 GMT
Connection: close
Content-Length: 20

<h1>Bad Request</h1>


Ce n'est pas une Exception catchée mais c'est ce que le Receive de ma Socket retourne...!

Avez vous une idée de l'erreur ?

Merci.