Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
关于回调函数的一点提问
阿龙发起了话题2019-01-14
3
回复
221
浏览

请教各位大佬,关于socket异步接收数据的代码,不太理解BeginReceive和EndReceive在.net里实现的机制,想看.net里的源码,求指导!

代码如下:

//Receive回调
    public void ReceiveCallback(IAsyncResult ar)
    {
        try
        {
            Socket socket = (Socket)ar.AsyncState;
            int count = socket.EndReceive(ar);
            recvStr = System.Text.Encoding.Default.GetString(readBuff, 0, count);

            socket.BeginReceive(readBuff, 0, 1024, 0, ReceiveCallback, socket);
        }
        catch(SocketException ex)
        {
            Debug.Log("Socket Receive Fail " + ex.ToString());
        }
    }

所有回复
  • 老师_Trigger 2019-01-14

    同学你好,这个源码老师也没有看过,可以上网上搜索一下找找。

    • 阿龙 2019-02-08

      老师好,我想问一下,它每次BeginReceive是不是新开了一个线程,然后在EndReceive时再关掉,是这样重复开关的过程吗?

      (0) 回复
    • 老师_Trigger 2019-02-09

      回复 @ 阿龙: 这个只能推测, 具体它们怎么实现的我们也不是很清楚,只能看到源码才知道。

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!