数据收发问题

[复制链接]
 楼主| 秋天落叶 发表于 2012-5-18 20:50 | 显示全部楼层 |阅读模式
我创建的套接字是基于TCP的,
我想将一组不同类型的数据放入一个Buf里面,发送给服务器端,并将它们显示出来,
服务器端接受到数据之后也发送一组不同类型的数据给客户端,当然也是放在一个Buf里面进行发送,
问题是我假如定义
char a='1';  
short b=12;
char sendBuf[100];
memcpy(&sendBuf[0],&a,1);
memcpy(&sendBuf[1],&b,2);
客户端:
send(sockClient,(char*)sendBuf,100,0);
服务器端:
recv(sockConn,(char *)recvBuf,100,0);
printf("%s ",recvBuf);
最后显示出来的结果是错误的。
谁可以给个具体代码。
txcy 发表于 2012-5-18 21:05 | 显示全部楼层
你接收的是二进制数据,又不是字符串,用%s打印出来的当然是错的
无冕之王 发表于 2012-5-18 21:13 | 显示全部楼层
可以定义一个结构体
Msg
{
int a;
char b[1024];
};
然后发送客户端:
Msg msg;
Msg* pmsg=&msg;
pmsg->a=10;
memcpy(pmsg,"123",strlen("123"));

send(sockClient,(char*)sendBuf,sizeof(Msg),0);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:落叶很美

138

主题

3044

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部