用 updclient 一次不能发送太大的数据量,不然就会报错:一个在数据报套接字上发送的消息大于内部消息缓冲器或其他一些网络限制,或该用户用于接收数据报的缓冲器比数据报小。但不知道一次到底能发多少字节? 如果把一个大的字节数组拆分成若干个 字节数组发送,那么接收时如何判断和处理呢?

解决方案 »

  1.   

    一次最大是65535,当然还有底层自带的包头可能要小一点。
    每次记录发送的位置不就可以了么
      

  2.   

    方法很简单:
    1、在客户端将你要发送的内容(文件什么的都可以)分块,每块内容进行编号,然后发送;
    2、服务端在接收到你的分块数据以后,根据你的客户端数据类容的编号重新组装;
    3、一般我们在发送数据的时候,尽量采用比较小的数据块的方式(我的都没有超过1024的),数据块太大的话容易出现发送和接收的数据时间长,匹配出问题。
      

  3.   

    我想问下我发送比较大的数据时,最对只能正常接收到7个数据包,为什么第八个 就不行了,我定义一个 包的大小是1470字节,
      

  4.   

    接收函数是有返回值的,最后一个包发过来很有可能没有1470字节,你要根据返回值来保存,否则会多保存很多空字节的。