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秒之内接收不到就认为没有数据继续执行下面的代码,不知道如何解决。 展开
MySocket.BeginReceiveFrom(rdata, 0, _dlen, SocketFlags.None, ref _recvep, new AsyncCallback(CallReceive), null);
我想问的是这里这几个参数各是什么意思 另外回调函数CallReceive要怎么写 我希望的是接收数据 1秒之内接收不到就认为没有数据继续执行下面的代码,不知道如何解决。 展开
1个回答
展开全部
异步的意思就是当服务端发送给客户端多少数据,客户端就接收多少数据,而不是客户端请求接收多少数据,然后等待服务端发送数据。
MySocket.BeginReceiveFrom(rdata, 0, _dlen, SocketFlags.None, ref _recvep, new AsyncCallback(CallReceive), null);
重要的就是AsyncCallback这个参数了,这个是一个委托,就是函数的指针,将你需要接收数据的函数声明为委托,作为这个参数,在接收到数据的时候,这个函数就会被调用。
MySocket.BeginReceiveFrom(rdata, 0, _dlen, SocketFlags.None, ref _recvep, new AsyncCallback(CallReceive), null);
重要的就是AsyncCallback这个参数了,这个是一个委托,就是函数的指针,将你需要接收数据的函数声明为委托,作为这个参数,在接收到数据的时候,这个函数就会被调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询