请选择 进入手机版 | 继续访问电脑版

查看: 205|回复: 7

[求助] unity在ios il2cpp模式打包下的异常,技术交流请进

[复制链接]

1

主题

8

帖子

70

贡献

初级UU族—2级

Rank: 2

积分
70
发表于 2017-10-11 09:07:59 | 显示全部楼层 |阅读模式
在mono模式下打包没有任何问题,在il2cpp模式下,游戏重复断连,而且不能登陆,在socket 的receive callback中 报异常:operation on non-blocking would block,socket采用的是 异步阻塞模式。receive callback代码如下:     private void receiveCallback(IAsyncResult ar)        {
            Debug.LogError("coming in");
            try
            {
                var socket = (Socket)ar.AsyncState;
                Debug.LogError("Connect:" + socket.Connected + "Iscompleted" + ar.IsCompleted);
                //socket.Blocking = true;
                if (!ar.IsCompleted || socket == null || socket.Connected == false)
                {
                    Debug.LogError("coming in if.....");
                    return;
                }

                int length = socket.EndReceive(ar);
                Debug.LogError("length:" + length + "-----------");
                if (length == 0)
                {
                    OnSocketDisconnect();
                    Debug.LogError("length:" + length + "leng = 0 so receiveCallback  Exception");
                    return;
                }


                _recvBufferSize = _recvBufferSize + length;
                _lastRecvTime = (uint)System.Environment.TickCount;
                Debug.LogError("length:" + length + "-----------" + "lastrecvTime:" + _lastRecvTime);

                //Split
                while (true)
                {
                    Packet packet = _packetBuilder.FromBytes(_byteRecvBuffer, _recvBufferSize, true);
                    if (packet == null)
                    {
                        BeginReceive(socket);
                        return;
                    }
                    else
                    {
                        _recvBufferSize = _recvBufferSize - (int)packet.Size;
                        Buffer.BlockCopy(_byteRecvBuffer, (int)packet.Size, _byteRecvBuffer, 0, _recvBufferSize);

                        _recvPacketCount++;

                        lock (((ICollection)_packetlist).SyncRoot)
                        {
                            _packetlist.Add(packet);
                        }
                    }

                }
            }
            catch (SocketException e)
            {
                Debug.LogError(e.Message + "is non-blocking");
                OnSocketDisconnect();
                Debug.LogError("receiveCallback  Exception");
            }
            catch (Exception e)
            {
                Debug.LogError(e.Message + "receive here");
            }
        }


盼其大神,助其解决,必有重谢》》》》》》》》》》》》


1

主题

8

帖子

70

贡献

初级UU族—2级

Rank: 2

积分
70
 楼主| 发表于 2017-10-11 09:19:02 | 显示全部楼层
求大神观摩,给点意见。。。谢谢

1

主题

4

帖子

90

贡献

初级UU族—2级

Rank: 2

积分
90
发表于 2017-10-11 09:40:17 | 显示全部楼层
現在 IOS 不是早就沒 Mono 編譯模式了

1

主题

8

帖子

70

贡献

初级UU族—2级

Rank: 2

积分
70
 楼主| 发表于 2017-10-11 09:55:49 | 显示全部楼层
Perching 发表于 2017-10-11 09:40
現在 IOS 不是早就沒 Mono 編譯模式了

unity 里面有呀,,il2cpp 坑很大啊

1

主题

8

帖子

70

贡献

初级UU族—2级

Rank: 2

积分
70
 楼主| 发表于 7 天前 | 显示全部楼层
有偿求助,,,

1

主题

8

帖子

70

贡献

初级UU族—2级

Rank: 2

积分
70
 楼主| 发表于 7 天前 | 显示全部楼层
求技术支持哦

1

主题

8

帖子

70

贡献

初级UU族—2级

Rank: 2

积分
70
 楼主| 发表于 5 天前 | 显示全部楼层
求助.....

1

主题

8

帖子

70

贡献

初级UU族—2级

Rank: 2

积分
70
 楼主| 发表于 3 天前 | 显示全部楼层
d
.............
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表