Socket的UDP方式接收完数据后如何获得 对方发来的IP地址和端口,在回发
我 用 UDP接收 对方发来的数据, 如果是TCP方式就得到对方的 client对象,然后 回发 数据回去
但现在是UDP 可能没有连接,所以也得不到client对象,那得到对方的 IP,和端口号怎么获得,怎么回发回去。
接收函数在 ReadCallback里面,在 ReadCallback里,如何获得 对方的IP,端口号在回发给 可户端!代码怎么写应该?
代码如下!·!!!!!!!!!!!!!!!!!!!!!
/// <summary>
/// 启动服务器程序,开始监听客户端请求
/// </summary>
public virtual void Start()
{
if (_isRun)
{
throw (new ApplicationException( "TcpSvr已经在运行. "));
}
//缓冲大小
_recvDataBuffer = new byte[DefaultBufferSize];
//初始化socket
_svrSock = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
//绑定端口
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint iep = new IPEndPoint(ipAddress, _port);
_svrSock.Bind(iep);
tempRemoteEP = (EndPoint)iep;
_svrSock.BeginReceiveFrom(_recvDataBuffer, 0, _recvDataBuffer.Length, 0, ref tempRemoteEP, new AsyncCallback(ReadCallback), null);
_isRun = true;
}
//接收函数委托(异步回调,本身带线程,不需要使用线程)
public void ReadCallback(IAsyncResult ar)