问一个比较低级的问题,服务端发送的缓冲区和客户端接收的缓冲区大小可以不一致吗?
服务端发送的缓冲区和客户端接收的缓冲区大小可以不一致吗?如果不一致接收数据会不会发生错误? 问题点数:100、回复次数:6Top
1 楼OLIVERY(阿Q)回复于 2003-08-02 22:07:59 得分 20
前一个问题我曾经也考虑过,缓冲区的大小可以不一致。不会导致SOCKET错误发生。当然,你最好做一下读取数据大小的控制,这样可以是数据不会发生混乱。具体点就是,你可以在文件的头部加上整个文件的大小。
如果需要例子,我可以给你发一个Top
2 楼zerphy(笑笑生)回复于 2003-08-03 00:21:13 得分 15
可以不一致的,不过应该尽量大一些。Top
3 楼zhaolaoxin()回复于 2003-08-03 00:34:24 得分 15
可以不一致,但应尽量一致Top
4 楼Richuen22(Vista)回复于 2003-08-03 01:58:33 得分 10
Yes,但接收的缓冲区一定要大于等于发送的缓冲区,否则会有内存泄露。
接收区内容大小 == 发送区的内容大小
Top
5 楼masterz(www.fruitfruit.com)回复于 2003-08-03 10:23:17 得分 40
没有问题。假定服务程序是别人写的,或者是第三方软件,你根本不可能知道他用的缓冲区是多大,也不需要关心它的缓冲区大小Top
6 楼adygyad(Yuan Ghost)回复于 2003-08-03 11:49:01 得分 0
谢谢!我的Email:adygyad@163.com
如果客户端缓冲比服务端缓冲区小的话,是不是客户端recv()就会被多执行很多次?数据不会丢失吧?Top




