| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 1716 人关注过本帖
标题:用winsock1.1的函数 收发数据!请各位大虾救小第一把!!
只看楼主 收藏
floppy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2004-6-1
  问题点数:0  回复次数:1   
用winsock1.1的函数 收发数据!请各位大虾救小第一把!!

我正在作一个发送接收文件的程序,用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 下是用非阻塞的好还是用阻塞的好?我感觉非阻塞的好用但听人说对数据的丢失不好控制。

搜索更多相关主题的帖子: 收发  函数  数据  
2004-06-01 21:07
yangguofa
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2004-5-5
  得分:0 

你的原程序能贴出来让大伙参考参考么?

否则这问题的所在我也不清楚。


2004-06-02 09:43







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.078627 second(s), 7 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved