练习写套接字通信程序时候写的一段代码,本来想写个聊天室但写来写去进度卡在界面上接节下来都是通信部分的代码
因为只是试验用所以都是用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