public static Thread thread = null;
Socket udpServer;
public void receive()
{
thread = new Thread(ReceiveMessage);
thread.Start();
thread.IsBackground = true;
}
public void ReceiveMessage(object obj)
{//udpcSend = new UdpClient(本机的udp端口);
udpServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
//2.Bind ip and port
udpServer.Bind(new IPEndPoint(IPAddress.Any, port));
//与上方new的本机udp端口
while (true)
{
try
{
EndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] data = new byte[10000];
int length = udpServer.ReceiveFrom(data, ref remoteEndPoint);//此方法把数据来源ip、port放到第二个参数中
string message = Encoding.UTF8.GetString(data, 0, length);
if (message != null)
{
Debug.WriteLine(remoteEndPoint.ToString());
Debug.WriteLine(message);
Process.Start(message);
// Console.Write(message);
}
}
catch (Exception ex)
{
// log.Info(ex);
break;
}
}
}