| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1759 人关注过本帖
标题:用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 

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

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


/bbs/UploadFile/2005-3/2005320191459674.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://www./bbs/UploadFile/2005-3/2005320191459674.gif');}" onmousewheel="return imgzoom(this);" alt="" />
2004-06-02 09:43
快速回复:用winsock1.1的函数 收发数据!请各位大虾救小第一把!!
数据加载中...
 
   



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

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