首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

未经处理的错误: System.InvalidCastException: 无法将类型为“System.Net.Sockets.O verlappedAsyn

2012-08-17 
未经处理的异常:System.InvalidCastException: 无法将类型为“System.Net.Sockets.O verlappedAsyn在使用so

未经处理的异常: 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
[解决办法]
同上,两个类型不通……不能互转,要转的话,要用到强制类型转换

热点排行