socket连续两次调用sendTo
客户端:
string str = "Hello ";
string str1 = "World";
Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
IPEndPoint localPoint1 = new IPEndPoint(IPAddress.Parse("10.46.255.100"),60000);
EndPoint tempPoint1 = (EndPoint)localPoint1;
socket .SendTo(System.Text.Encoding.Default.GetBytes(str),tempPoint1);
//Thread.Sleep(1000);
socket .SendTo(System.Text.Encoding.Default.GetBytes(str1),tempPoint1);
服务器端:
while(true)
{
Length = socket.ReceiveFrom(recvBuffer,ref tempPoint);
Thread thread = new Thread(new ThreadStart(DistributeMsg));
thread.Start();
}
private void DistributeMsg()
{
byte[] buffer = new byte[Length];
Array.Copy(recvBuffer,0,buffer,0,Length);
Console.WriteLine(System.Text.Encoding.Default.GetString(buffer));
}
以上客户端和服务器都是本机。
输出结果:
World
World
如果加上Sleep(1000),输出正常,为什么?