Bonsoir,
j'ai besoin d'un serveur qui reçoit de manière aléatoire des messages d'un client.
J'ai fait ce serveur mais la manière dont il recoit les messages du client est complètement aléatoire, temps en temps il reçoit le message mais la plupart du temps non. Il y a peut-être pas grand chose mais je ne comprend pas ce qu'il a de faux dans mon 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
 
private void button2_Click(object sender, EventArgs e)
{
	IPAddress ip = IPAddress.Parse("127.0.0.1");
	SocketServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
	SocketServer.Bind(new IPEndPoint(ip, 2660));
	SocketServer.Listen(1);
	SocketServer.BeginAccept(new AsyncCallback(SocketAccepted), SocketServer);
}
 
private void SocketAccepted(IAsyncResult asyncResult)
{
	SocketClient = SocketServer.EndAccept(asyncResult);
	Buffer = new byte[SocketClient.Available];
 
	SocketClient.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, new AsyncCallback(DataReceived), SocketClient);
}
 
public void DataReceived(IAsyncResult asyncResult)
{
	string s;
 
	SocketClient.EndReceive(asyncResult);
	s = System.Text.Encoding.ASCII.GetString(Buffer);
	SetText(s);
	SocketClient.Shutdown(SocketShutdown.Both);
	SocketClient.Close();
	SocketServer.BeginAccept(new AsyncCallback(SocketAccepted), SocketServer);
	//SocketServer.Close();
}
Si une bonne âme peut me donner des indications, ce serait avec le plus grand plaisir.
Bonne soirée à tous !!