socket 封包封包封包,我还是不明白

wxliangforwxliang 2010-02-09 11:14:38
1:发送封包
char buffS[256]="Qww*王子凤*25*192-02-02*男*本科*未婚*家住:北京某霜地\0";
::send(CCS,buffS,256,0);

高人:WizardK说

发送方:

C/C++ code

typedef struct _XXX_ { ...; } XXX, * PXXX; XXX xxx; if (send(socket, &xxx, sizeof(XXX), 0) == sizeof(XXX)) ...



接收方:

C/C++ code

typedef struct _XXX_ { ...; } XXX, * PXXX; XXX xxx; if (recv(socket, &xxx, sizeof(XXX), 0) == sizeof(XXX)) ...



如果是把相关数据写进结构本里面,在发送结构.这是不是叫封包,
如果不是,应该怎么写了,写个简单的实例好吗,高人,我在网上找了几天都没找到封包这方面的资料,好困惑哟
最好高人能留下QQ,如果我还是明白,也好请教呀,感激不尽呀

...全文
131 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengrx 2010-02-09
  • 打赏
  • 举报
回复
你看下send和recv参数类型,其实就是发送任意的数据,所以只要你自己知道发送的数据格式,收到数据知道如何解析就OK了。
eyodo8 2010-02-09
  • 打赏
  • 举报
回复
其实你上面用*分割与用结构体都是你说的封包,区别就是,*分割是各字段的长度是不固定的,而用结构体,每个字段存放的位置是固定的而已。对于你发送出去的数据来说都是一个二进制块,没什么区别。如果你非得提封包这个概念,那么仅仅是你怎么去组织二进制数据的一种方式,也就是常说的应用协议而已
havedown 2010-02-09
  • 打赏
  • 举报
回复
结构体,还是字节流,还是自定认的协议格式。

发送方和接收方约好就ok了。
WizardK 2010-02-09
  • 打赏
  • 举报
回复
其次,不是都给你写了例子了吗,还有哪里不明白?
WizardK 2010-02-09
  • 打赏
  • 举报
回复
大哥,首先,我实在没听说过封包这个名词,根据你的说明,好像就是打包的意思吧。
Allen_zhang 2010-02-09
  • 打赏
  • 举报
回复
底层发送的是字节流,你怎样写都没关系,双发预订好可以编解码就行。
好吃的肥牛 2010-02-09
  • 打赏
  • 举报
回复
不错 学习了不错 学习了不错 学习了

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧