由于Socket 一次传输数据有限,因此需要多次接受数据传输。

解决办法一:

    int numberOfBytesRead = 0;
    int totalNumberOfBytes = 0;
    do
    {
        numberOfBytesRead = mySocket.Receive(receivedData,totalNumberOfBytes ,
                            mySocket.ReceiveBufferSize,SocketFlags.None);
        totalNumberOfBytes += numberOfBytesRead;
    }
    while (numberOfBytesRead > 0);
 
解决办法二:

//通过clientSocket接收数据 
int receiveLength = 0;
int index = 0;
while (clientSocket.Available > 0)
{                                              //参数 数据缓存区  起始位置  数据长度  值的按位组合
receiveLength += clientSocket.Receive(result, index, clientSocket.ReceiveBufferSize, SocketFlags.None);
index += receiveLength;
}

return Encoding.GetEncoding("GB18030").GetString(result, 0, index);

 

最新文章

  1. 【经验之谈】Git使用之Windows环境下配置
  2. eclipse根据父类打开子类快捷键
  3. wghd的git代码仓库分支管理说明【转】
  4. java.lang.IllegalStateException异常简单分析和简单解决
  5. 关于json文本数据的一些使用方法
  6. UVA11552:Fewest Flops
  7. 【Mac上的PotPlayer视频播放器】Movist Pro for Mac 2.1.2
  8. ensureCapacity增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
  9. 基于Log4j完成定时创建和删除日志的方法
  10. js截取url参数
  11. nginx升级教程
  12. pl/sql developer中dbms_output.put_line函数的运用
  13. solr 下载 有dist目录的(6需要8)
  14. Linux命令网络命令之netstat
  15. Blender下各种坐标系
  16. Dos命令大全(1)
  17. /var/spool/postfix/maildrop 出现大量文件原因和解决办法
  18. Linux应用监控工具
  19. golang--性能测试和分析
  20. js removeChild

热门文章

  1. [转]NME Android目标中文输入问题完美解决!
  2. mybatis与oracle使用总结
  3. CentOS6.5 下MySQL傻瓜式安装
  4. 解决docker 下来镜像出现 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net的问题
  5. phpBB安装
  6. 设置windows10 背景颜色
  7. Task用法(1)-启动方法
  8. WCF宿主Window Service Demo
  9. gridcontrol 添加行号
  10. lucene 5.2.0学习笔记