在使用方法BeginReceive时,将本应传入AsyncCallback实例的地方,直接用一个方法填进去(这个方法参数类型符合要求),程序运行得很好!1.正确的方法:
public void OnRecievedData( IAsyncResult ar )
{
.......
} AsyncCallback recieveData = new AsyncCallback(OnRecievedData);
m_sock.BeginReceive( m_byBuff, 0, m_byBuff.Length, SocketFlags.None, recieveData, this );
}
2.采用这个方法传参,程序不报错,而且能运行,最奇怪的是,看不出有什么出别!
m_sock.BeginReceive( m_byBuff, 0, m_byBuff.Length, SocketFlags.None, OnRecievedData, this );
public void OnRecievedData( IAsyncResult ar )
{
.......
} AsyncCallback recieveData = new AsyncCallback(OnRecievedData);
m_sock.BeginReceive( m_byBuff, 0, m_byBuff.Length, SocketFlags.None, recieveData, this );
}
2.采用这个方法传参,程序不报错,而且能运行,最奇怪的是,看不出有什么出别!
m_sock.BeginReceive( m_byBuff, 0, m_byBuff.Length, SocketFlags.None, OnRecievedData, this );
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货