0
當我的Windows服務代碼在公共服務器上的多個IP地址上工作時,如何檢測哪個IP地址正在接收傳入數據包?檢測哪個IP地址正在接收套接字流量
我正在使用UdpSocket
來監聽傳入的數據包。
這是我的服務器應用程序的代碼:
ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
EndPoint ServerEndPoint = new IPEndPoint(IPAddress.Any, 5000);
ServerSocket.Bind(ServerEndPoint);
ServerSocket.BeginReceiveFrom(_arrReceivedDataBuffer, 0, BUFSIZE - 1, SocketFlags.None, ref ServerEndPoint, DoReceiveFromClient, ServerSocket);
private void DoReceiveFromClient(IAsyncResult AsyncResult)
{
_ClientSocket = (Socket)AsyncResult.AsyncState;
EndPoint ClientEndPoint = new IPEndPoint(IPAddress.Any, 0);
int intMsgLen = _ClientSocket.EndReceiveFrom(AsyncResult, ref ClientEndPoint);
String strMessage = "Hello From Server!"
byte[] arrData = Encoding.ASCII.GetBytes(strMessage);
ServerSocket.SendTo(arrData, arrData.Length, SocketFlags.None, _ClientSocket);
}