1:发送封包
char buffS[256]="Qww*王子凤*25*192-02-02*男*本科*未婚*家住:北京某霜地\0";
::send(CCS,buffS,256,0);格式:以*分开,在接收后,分别读出Qww,王子凤,25...之后,在把相应的数据添加到某些地方这样发送肯定是没封包,如何要应该怎么封包,有源码最好
E_mail:[email protected]:接收解包
char buffS[256]="\0";
::recv(lskt,buffS,256, 0);
这样接收没解包,如何解包
char buffS[256]="Qww*王子凤*25*192-02-02*男*本科*未婚*家住:北京某霜地\0";
::send(CCS,buffS,256,0);格式:以*分开,在接收后,分别读出Qww,王子凤,25...之后,在把相应的数据添加到某些地方这样发送肯定是没封包,如何要应该怎么封包,有源码最好
E_mail:[email protected]:接收解包
char buffS[256]="\0";
::recv(lskt,buffS,256, 0);
这样接收没解包,如何解包
解决方案 »
- 工具条代码里wm_paint处理时,下面一个循环//continue;是何用意
- MoveWindow,好奇怪........
- 急:vc调用delphi编写的dll出现问题
- 高分求助,急
- 怎么把一个数据类型转换成UCHAR啊
- 使用vc怎样初始化一个数据库(创建一堆表、视图,插入一堆数据),就像执行一个sql脚本一样?
- 关于按钮的问题!
- 如何转byte数组为字符串?
- MFC EditBrowse控件如何 既能浏览文件,又能浏览文件夹
- 学vc需要仔细看10几页的源程序吗(那个最初的appwizard程序),要仔细到什么程度?
- 新手入门,想问问网络编程用什么平台和什么系统好
- 由WinExec启动后文件操作的问题?
你为啥老想着封包、解包这两个概念那?你这东西,抛开socket的send和recv,就是对字符串的一个组合和解析,你都知道格式了,你把字符串解析了,不就完了。
为啥非得封包、解包。
{
int length;
char Qww[3];
char name[6];
int age;
char birthday[10];
... ...
}把所有的字段都加进去。发送的时候,先把填充结构体,然后,按结构体大小,发送。
接收的时候,按照结构体长度,再循环接收一个完整的结构体,这样字段不久一一对应上了。
发送方:typedef struct _XXX_
{
...;
} XXX, * PXXX;XXX xxx;if (send(socket, &xxx, sizeof(XXX), 0) == sizeof(XXX))
...
接收方:typedef struct _XXX_
{
...;
} XXX, * PXXX;XXX xxx;if (recv(socket, &xxx, sizeof(XXX), 0) == sizeof(XXX))
...
...
#pragma pack()