C# SOCKET 异步接收的问题 10

一开始我是使用intrecvPle=MySocket.ReceiveFrom(rdata,ref_recvep);来接受数据的,但是我发现如果接收不到任何数据程序就会死在... 一开始我是使用int recvPle = MySocket.ReceiveFrom(rdata,ref _recvep);来接受数据的,但是我发现如果接收不到任何数据 程序就会死在这里 网上查了一番后发现可以使用异步 类似与
MySocket.BeginReceiveFrom(rdata, 0, _dlen, SocketFlags.None, ref _recvep, new AsyncCallback(CallReceive), null);
我想问的是这里这几个参数各是什么意思 另外回调函数CallReceive要怎么写 我希望的是接收数据 1秒之内接收不到就认为没有数据继续执行下面的代码,不知道如何解决。
展开
 我来答
果虾若笑葩15
2010-12-30 · TA获得超过766个赞
知道小有建树答主
回答量:464
采纳率:100%
帮助的人:370万
展开全部
异步的意思就是当服务端发送给客户端多少数据,客户端就接收多少数据,而不是客户端请求接收多少数据,然后等待服务端发送数据。
MySocket.BeginReceiveFrom(rdata, 0, _dlen, SocketFlags.None, ref _recvep, new AsyncCallback(CallReceive), null);
重要的就是AsyncCallback这个参数了,这个是一个委托,就是函数的指针,将你需要接收数据的函数声明为委托,作为这个参数,在接收到数据的时候,这个函数就会被调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式