未经处理的异常:
System.InvalidCastException: 无法将类型为“System.Net.Sockets.O verlappedAsyn
在使用socket异步接收数据的时候出现的异常
未经处理的异常: System.InvalidCastException: 无法将类型为“System.Net.Sockets.O
verlappedAsyncResult”的对象强制转换为类型“System.Net.Sockets.Socket”。
以下是部分代码
C# code
socket.BeginReceive(heartBytes, 0, 1024, SocketFlags.None, new AsyncCallback(recHeartbeat), socket);
private void recHeartbeat(IAsyncResult s)
{
try
{
Socket socketHeart = (Socket)s;
int i = socketHeart.EndReceive(s);//结束异步 返回结果
Console.Write(i.ToString());
求指教
------解决方案--------------------s又不是Scoket类型,当然不能转了
试试 Socket socketHeart = (Socket)s.AsyncState
------解决方案--------------------同上,两个类型不通……不能互转,要转的话,要用到强制类型转换