static void SigleProThread(){Console.WriteLine("线程开始");byte[] receiveByte = new byte[1024];string connip = "连接来自:[" + mysocket.RemoteEndPoint.ToString() + "]";tempcontentip = connip;CFG.mylog.Log(connip);while (true){if (mysocket.Connected){try{Array.Clear(receiveByte, 0, receiveByte.Length);int recvlen = mysocket.Receive(receiveByte, receiveByte.Length, 0);byte[] content = receiveByte.Take(recvlen).ToArray();string result = Encoding.UTF8.GetString(content);if (result.Length == 0){if (mysocket != null){mysocket.Close();mysocket = null;}Console.WriteLine("连接已断开");CFG.mylog.Log("连接已断开1");break;}else{CFG.mylog.Log("recv=" + result);temprecvstr = result;proData(result);}}catch (Exception ex){//远程主机强迫关闭了一个现有的连接if (mysocket != null){mysocket.Close();mysocket = null;CFG.mylog.Log("mysocket已经设为null");}Console.WriteLine("异常:" + ex.Message);CFG.mylog.Log("异常:" + ex.Message);break;}}else{if (mysocket != null){mysocket.Close();mysocket = null;}Console.WriteLine("连接已断开");CFG.mylog.Log("连接已断开2");break;}}}
1 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
Index and length ...
索引或者长度(参数)必须引用字符串中的一个位置
可能是你调用了一些函数,比如
mid , left , instr,right ...
然后参数不在字符串的长度范围内
不过也只能是猜测
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消
