读书人

未经处理的错误: System.InvalidCast

发布时间: 2012-08-17 02:08:34 作者: rapoo

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

读书人网 >C#

热点推荐