我利用socket做了个通讯程序,通讯一直很正常,可昨天要接收一个9987字节的电文,接收失败,难道socket在接收数据时,不能超过9987字节吗?最大上限是多少?

解决方案 »

  1.   

    do{
            offset += socket.Receive(buffer, offset, length, SocketFlags.None);
    length -= offset;
    if (length == 0)
      {
             return 0;
      }
     }while (offset > 0);
    我不知道socket通讯在接收或发送数据时是不是有上限。
      

  2.   

    一个都没收到吗?
    length = 0?
    首先要确定是发送失败还是接收不到
      

  3.   

    应该是接收问题,因为当对方把电文长度改小之后,我就能正常接收。也许是发送问题,可能当电文太长时,不能完整发送。不知道,socket通讯是否有长度限制。
      

  4.   

    我也不太清楚,
    上google搜下看看,实在不行,就分几次发
    绕过这个问题
      

  5.   

    多谢回复,谁知道啊?socket通讯是否有上限。
      

  6.   

    socket上限曾经听说过,但没有证实.
    你的这点长度应该根本不是问题,我做过一些通讯类的,发送14000字节长度都根本没问题
    估计还是你代码哪里有bug.
      

  7.   

    你的buffer有多大,是不是超出了它的上限?