发送消息
socket.SendTo(sendData, sendData.Length, SocketFlags.None, remoteEndPoint);
只需要知道remoteEndPoint的作为目标地址就可以了,socket甚至不需要绑定IP
接收消息
EndPoint remote = new IPEndPoint(IPAddress.Any,0);
//进入接收循环
while (true)
{
//对data清零
recvData = new byte[1024];
//获取客户端,获取客户端数据,用引用给客户端赋值
recvLen = socket.ReceiveFrom(recvData, ref remote);
// print("message from: " + clientEnd.ToString()); //打印客户端信息
//输出接收到的数据
lock (mylock) {
recvStr = Encoding.UTF8.GetString(recvData, 0, recvLen);
}
}
接收消息时,socket绑定一个IP和端口,别人才知道发送给你的地址。这个IP可以是 IPAddress.Any="0.0.0.0"即任意IP,端口可以是0,即监听任何端口
监听的消息来自一般设置为new IPEndPoint(IPAddress.Any,0); 这样可以通过remote的地址,给消息发送者返回消息