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

(61评价)
价格: 2140.00元
siki老师,丛林战争位置同步出现错误,麻烦您帮我看一下。
新手123发起了问答2018-04-17
9
回复
835
浏览

详细错误信息如下:

System.ArgumentOutOfRangeException: ArgRange_Array
Parameter name: count
  at System.Text.UTF8Encoding.InternalGetCharCount (System.Byte[] bytes, Int32 index, Int32 count, UInt32 leftOverBits, UInt32 leftOverCount, System.Object provider, System.Text.DecoderFallbackBuffer& fallbackBuffer, System.Byte[]& bufferArg, Boolean flush) [0x00048] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Text/UTF8Encoding.cs:462 
  at System.Text.UTF8Encoding.GetCharCount (System.Byte[] bytes, Int32 index, Int32 count) [0x00004] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Text/UTF8Encoding.cs:687 
  at System.Text.Encoding.GetChars (System.Byte[] bytes, Int32 index, Int32 count) [0x00000] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Text/Encoding.cs:328 
  at System.Text.Encoding.GetString (System.Byte[] bytes, Int32 index, Int32 count) [0x00000] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Text/Encoding.cs:751 
  at System.Text.UTF8Encoding.GetString (System.Byte[] bytes, Int32 index, Int32 count) [0x00000] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Text/UTF8Encoding.cs:1052 
  at Message.AnaylsisMsg (Int32 size, System.Action`2 MessageCallback) [0x0005a] in D:\文档\自己写的\编程\unity3d\丛林战争\GameClient\Assets\Scripts\NetWork\Message.cs:47 
  at SocketManger.ReciveCaalbackFunc (IAsyncResult ar) [0x00042] in D:\文档\自己写的\编程\unity3d\丛林战争\GameClient\Assets\Scripts\Managers\SocketManager.cs:53 
UnityEngine.Debug:Log(Object)
SocketManger:ReciveCaalbackFunc(IAsyncResult) (at Assets/Scripts/Managers/SocketManager.cs:61)

System.Net.Sockets.Worker:Receive()

经过逐步调试后,我发现运行过程中Message的StartIndex会先变成负数,然后越来越大直至超出buffer数据的长度,但我始终找不出原因,麻烦您帮我看一下,谢谢了。

所有回复
  • siki 2018-04-18

    截图发下,报错行的代码怎么写的

    这个是超出数组范围,所以肯定是你访问数组的时候,下标越界了,你只要找找为啥越界

    • 新手123 2018-04-18

      老师,截图已上传,麻烦您了。

      (0) 回复
    • 新手123 2018-04-18

      而且,老师,还有时候会解析出一些莫名其妙的字符,我已经确认过了客户端拼接的字符串是没问题的,服务器端也只是将字符串转发而已,解析的时候有时候会解析出一些莫名其妙的字符来。。。。

      (0) 回复
    • 新手123 2018-04-18

      而且,有时候会少掉某个分隔符后面的数字。。。。。

      (0) 回复
    还有-2条回复,点击查看
    你还没有登录,请先登录注册
  • 新手123 2018-04-18

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2018-04-22

    这里出问题应该是你的 startIndex超出了数组范围,可以在beginreceive之前输出下数组长度和startindex的值

    如果是startindex 的问题,那就有能是你在取数据的时候,读完数据后没有正确的修改startindex

    还有-3条回复,点击查看
    你还没有登录,请先登录注册
  • siki 2018-04-23

    首先根据老师说的在出错的代码行前输出 数组长度和startindex的值,先确定startindex的问题,在找具体什么问题

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