T
the_best_of_bes
Unregistered / Unconfirmed
GUEST, unregistred user!
我正在作一个发送接收文件的程序,用winsock1.1的函数,以下是问题,如果谁有例子就更好了。
问题:1:server端接收数组buf为8192,client端发送数组buf为8192。在client端每次发送数据大小为8192。如果某一文件为12192,send先发开始信息‘start’通知server接受方创建文件用于接收。第一次发8192,然后再发剩下的4000,接下来发送结束信息‘end’。问题是接收方在每次接收时数据的大小有时会小于8192,并且在接收最后的数据时我的信息‘end’和剩下的信息被一次接收了,这样我就收不到我的结束信息‘end’了(但发送时是分2次发的)。我试过把发送最后不足8192的数据用#0填够,单在接收写入文件时确多了好多空行(好像时空格),写入文件时用Tfilestream 流。
2:socket的缓冲区大小是不是就是我定义的接收,发送数组buf的大小?
3:在windows 下是用非阻塞的好还是用阻塞的好?我感觉非阻塞的好用但听人说对数据的丢失不好控制。
问题:1:server端接收数组buf为8192,client端发送数组buf为8192。在client端每次发送数据大小为8192。如果某一文件为12192,send先发开始信息‘start’通知server接受方创建文件用于接收。第一次发8192,然后再发剩下的4000,接下来发送结束信息‘end’。问题是接收方在每次接收时数据的大小有时会小于8192,并且在接收最后的数据时我的信息‘end’和剩下的信息被一次接收了,这样我就收不到我的结束信息‘end’了(但发送时是分2次发的)。我试过把发送最后不足8192的数据用#0填够,单在接收写入文件时确多了好多空行(好像时空格),写入文件时用Tfilestream 流。
2:socket的缓冲区大小是不是就是我定义的接收,发送数组buf的大小?
3:在windows 下是用非阻塞的好还是用阻塞的好?我感觉非阻塞的好用但听人说对数据的丢失不好控制。