各位大侠,我用套接字发送一个结构体,如下:
struct BasicInformation
{
char name[10];
char sex[2];
char year[5];
char month[3];
char day[3];
char password[8];
char zipcode[10];
char qq[10];
char phone[12];
char noPublic[2];
char photo[3];
char email[20];
};
BasicInformation bi;
........///给bi的各个成员赋值
///////////////////////////////////////如果要此处调用MessageBox(),则服务器方接收完全正常!
客户机发送套接字:send(client,(char *)&bi,sizeof(BasicInformation),0);服务器接收结构体:
char* buf;
buf=new char[sizeof(BasicInformation)];
ret=recv(client,buf,sizeof(BasicInformation),0);
bi=(BasicInformation*)buf;
在服务器端输出bi的各个位是出现乱码!经过观察,我发现客户机的数据全部发送出去了,但服务器却接收不到全部的数据,这是为什么啊?应该怎样做,才能保证服务器能接收全部的数据!还有,在客户机发送数据前面,调用MessageBox(),则服务器方能够接收全部的数据!好奇怪!
struct BasicInformation
{
char name[10];
char sex[2];
char year[5];
char month[3];
char day[3];
char password[8];
char zipcode[10];
char qq[10];
char phone[12];
char noPublic[2];
char photo[3];
char email[20];
};
BasicInformation bi;
........///给bi的各个成员赋值
///////////////////////////////////////如果要此处调用MessageBox(),则服务器方接收完全正常!
客户机发送套接字:send(client,(char *)&bi,sizeof(BasicInformation),0);服务器接收结构体:
char* buf;
buf=new char[sizeof(BasicInformation)];
ret=recv(client,buf,sizeof(BasicInformation),0);
bi=(BasicInformation*)buf;
在服务器端输出bi的各个位是出现乱码!经过观察,我发现客户机的数据全部发送出去了,但服务器却接收不到全部的数据,这是为什么啊?应该怎样做,才能保证服务器能接收全部的数据!还有,在客户机发送数据前面,调用MessageBox(),则服务器方能够接收全部的数据!好奇怪!
解决方案 »
- 千古初学难题NO1,error LNK2019: 无法解析的外部符号 "void __stdcall ServiceStrl(unsigned long)" 该符号在函数 _WinMain@16 中被引用
- 串口通信中的数据类型转换问题
- SDI和MDI里,如何为视图添加滚动条?
- 一个不明白的问题,请大家给我讲讲吧 !
- ◆◆◆◆如何把输出结果写入PPT中◆◆◆◆
- 怎么通过分析ip包知道该机器在用代理(下面多台机器用该代理上网),高手指点!
- 为什么给别人回答了问题,却得不到分呢?
- C中转化的问题
- 如何点击弹出对话框的按钮,实现在单文档中画出一个正方形
- 怎样实现象win2000那样的淡出淡入式菜单?
- 如何让程序等待cserialport类接受所有数据
- MFC MDI程序 打开子窗体
BasicInformation bi;
memset(&bi,0,sizeof(BasicInformation));
ret=recv(client,&bi,sizeof(BasicInformation),0);
2:你要是知道自己接收的数据的长度,就不用加包头了,你循环接收就可以了,一直到总的数据长度等于你已知的长度。
2:你要是知道自己接收的数据的长度,就不用加包头了,你循环接收就可以了,一直到总的数据长度等于你已知的长度。