为什么在最后一句出现错误 ?
System.Net.Sockets.UdpClient receiver = new System.Net.Sockets.UdpClient();
Byte[] receiveBytes;
System.Threading.Thread.Sleep(2000);
System.Net.IPEndPoint ep =new System.Net.IPEndPoint(System.Net.IPAddress.Any,0);
receiveBytes = receiver.Receive(ref ep);
System.Net.Sockets.UdpClient receiver = new System.Net.Sockets.UdpClient();
Byte[] receiveBytes;
System.Threading.Thread.Sleep(2000);
System.Net.IPEndPoint ep =new System.Net.IPEndPoint(System.Net.IPAddress.Any,0);
receiveBytes = receiver.Receive(ref ep);
// This constructor arbitrarily assigns the local port number.
UdpClient udpClient = new UdpClient();
try{
udpClient.Connect("www.contoso.com", 11000); // Sends a message to the host to which you have connected.
Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?");
udpClient.Send(sendBytes, sendBytes.Length); // Sends a message to a different host using optional hostname and port parameters.
UdpClient udpClientB = new UdpClient();
udpClientB.Send(sendBytes, sendBytes.Length, "AlternateHostMachineName", 11000); //IPEndPoint object will allow us to read datagrams sent from any source.
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); // Blocks until a message returns on this socket from a remote host.
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
string returnData = Encoding.ASCII.GetString(receiveBytes);
// Uses the IPEndPoint object to determine which of these two hosts responded.
Console.WriteLine("This is the message you received " +
returnData.ToString());
Console.WriteLine("This message was sent from " +
RemoteIpEndPoint.Address.ToString() +
" on their port number " +
RemoteIpEndPoint.Port.ToString()); udpClient.Close();
udpClientB.Close();
}
catch (Exception e ) {
Console.WriteLine(e.ToString());
}
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
人家是udpClient,不是udpClientB
在我的代码前加上一句就不报错了
为什么呢?