c语言解包封包函数,一个简单的SOCKET程序的数据包结构和封解包函数...

这是一个使用C语言编写的SOCKET通信程序中,用于封包和解包数据包的代码示例。包括CTOS(客户端到服务端)和STOC(服务端到客户端)的数据包结构,以及相应的封包和解包函数,用于在数据传输过程中保持数据完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习写套接字通信程序时候写的一段代码,本来想写个聊天室但写来写去进度卡在界面上接节下来都是通信部分的代码

因为只是试验用所以都是用C写的,等界面部分完工后会用类来封装一下

因为本人E文很烂所以变量和函数的命名是具有中国特色的,求理解.不过我注释的很详细了

谨以此文纪念我那坑爹的编程自学生涯......................

#include "stdio.h"

#include

//数据包接构//

//数据包类型CTOS为客户端使用的数据包,STOC为服务端使用的数据包

#define CTOS 1

#define STOC 2

//数据包存储管道每个包最大为2000字节,其中数据载荷为最大1800字节,其余留着扩展数据包头

struct SJGD {

BYTE sjgd[2000];  //数据缓冲区

DWORD sjcd;    //数据长度

};

//数据包头大小为8字节

struct MSG_TOU {

DWORD lxid; //数据包类型

DWORD sxid;  //数据包顺序标号

DWORD sjbcd; //数据包长度

};

//服务端-》客户端包

struct MSG_STOC {

DWORD cmd;    //命令标识

DWORD sjbcd; //整个MSG_STOC数据包缓冲区的长度

BYTE shuju[1000];   //附加数据缓冲区

};

//客户端-》服务器包

struct MS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值