首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

winsock文件传输有关问题

2013-07-04 
winsock文件传输问题最近做winsock的一点练习 遇到一个问题。客户端发送文件名时,假设是123.txt, 但是服务

winsock文件传输问题
最近做winsock的一点练习 遇到一个问题。
客户端发送文件名时,假设是123.txt, 但是服务器端只能收到123. 后面的txt被算成文件内容了

Client:
fp = fopen("D:\\123.txt", "rb");
if(!fp)
exit(0);
char *name="123.txt";
len = send(client,name,strlen(name) ,0);//printf出来的len是7 name是123.txt

Server:
char recvbuf[1024] = "";   
recv( server, recvbuf, sizeof(1024), 0 );//recvbuf是123.

求大神帮忙啊
 
[解决办法]
接收的时候,一次接收到的字节数并不一定等于发送的字节数,所以在接收时应该判断是否接收完整,如不完整,就要继续接收,所以在通信协议中要能判断是否接收下来完整的数据,要么先发送数据的长度,再发送数据,要么在数据中加入特殊字符,来表示数据结束。

热点排行