UDP异步接收不到数据原因(急急急急急急急急)
使用同步传输数据,用异步方式接收数据。用抓包软件显示同步方式数据可以发送出去,并且有数据返回到计算机网口。但就是程序没有调用RecvCallback函数。到底是程序问题还是计算机设置问题呢????请解答一下。
private void button1_Click(object sender, EventArgs e)
{
try
{
DefaultIpEndPoint = new IPEndPoint(IPAddress.Parse(DefultIpString), 99);
UdpClient1.Send(SendData, SendData.Length, DefaultIpEndPoint );
UdpClient1.Close();
}
catch (Exception SendError1)
{
MessageBox.Show(SendError1.ToString());
}
asynclisten();
}
private void asynclisten()
{
try
{
IPEndPoint e = new IPEndPoint(IPAddress.Any, LocalPort);
UdpClient ListenUdp = new UdpClient(e);
UdpState s = new UdpState();
s.e = e;
s.u = ListenUdp;
iAr = ListenUdp.BeginReceive(new AsyncCallback(RecvCallback), s);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
//返回调用
private void RecvCallback(IAsyncResult ar)
{
try
{
UdpClient ListenUdp1 = (UdpClient)((UdpState)(ar.AsyncState)).u;
IPEndPoint e1 = (IPEndPoint)((UdpState)(ar.AsyncState)).e;
Byte[] receiveBytes = ListenUdp1.EndReceive(ar, ref e1);
iAr = ListenUdp1.BeginReceive(new AsyncCallback(RecvCallback), (UdpState)(ar.AsyncState));
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}