上传者: otherway222
|
上传时间: 2021-12-31 10:03:05
|
文件大小: 38KB
|
文件类型: -
自己编写的socket 通信实例,用epoll实现,有server和client
是我自己从项目中提炼出来的模板,稍微扩展一下就可以用于实际项目。
采用epoll实现server,可以当做学习和练手的教材.有通信实例,有说明文档
通信接口如下:
typedef struct msg_head_tag {
uint8_t ver:4; /* 消息版本号 */
uint8_t sub_ver:4; /* 消息子版本号 */
uint8_t cont_flag:1;/* 是否有后续包标志 0:没有 1:有 */
uint8_t type:7; /* 消息类型 */
uint16_t event; /* 消息事件号 */
uint16_t data_len;/* 消息体长度(不包括消息头) */
uint16_t sn; /* 序列号 */
} __PACKED msg_head_t;
/* 消息头定义 */
typedef struct msg_tag {
msg_head_t head; /* 消息头 */
uint8_t data[]; /* 消息体 */
} __PACKED msg_t;
使用说明
1. 选择工作方式
#define SOCK_TYPE 1 /* 1-AF_UNIX 2-SOCK_STREAM */
2. 编译工程,执行make
3. 运行sock_client
4. 另起一个终端运行sock_server
5. 在sock_client终端上输入数据回车。