套接字发送结构体
来源:互联网 发布:c语言画生日蛋糕 编辑:程序博客网 时间:2024/03/28 21:55
之前一直认为套接字只能传送字符串,今天查看了一些资料,发现套接字可以发送结构体,只不过收发双方必须都知道结构体的定义,并且因为数据在网络里面传送的时候是串行的,所以发送结构体时对数据进行处理,将其串行化传送,而在接收方定义相同的结构体对这个串行数据解析即可。
方法(一)强制转换
发送方:
struct message
{
int type;
char data[1000];
};
。。。。。。
struct message msg;
。。。。。。
sendto(clt_sockfd,(void *)&msg,sizeof(struct message),0,&srv_addr,sizeof(struct sockaddr_in));
。。。。。。
接收方:
struct message
{
int type;
char data[1000];
};
。。。。。。
struct message msg;
。。。。。。
recvfrom(srv_sockfd,(void *)&msg,sizeof(struct message),0,&clt_addr,&len);
。。。。。。
方法(二)转化解析
发送方:
struct message
{
int type;
char data[1000];
};
。。。。。。
struct message msg;
char msg_buf[1024];
。。。。。。
memcpy(msg_buf,&msg,sizeof(msg));//串行化
。。。。。。
sendto(clt_sockfd,msg_buf,sizeof(struct message),0,&srv_addr,sizeof(struct sockaddr_in));
。。。。。。
接收方:
struct message
{
int type;
char data[1000];
};
。。。。。。
struct message msg;
char msg_buf[1024];
。。。。。。
recvfrom(srv_sockfd,msg_buf,sizeof(struct message),0,&clt_addr,&len);
memcpy(&msg,msg_buf,sizeof(struct message));//解析过程
。。。。。。
- 套接字发送结构体
- 网络套接字发送结构体及数据处理
- 套接字结构体
- socket套接字使用的结构体
- 套接字地址结构
- 套接字地址结构
- 套接字地址结构
- 套接字地址结构
- linux 套接字结构
- 套接字地址结构
- 套接字地址结构
- Socket套接字发送图片
- Unix套接字地址结构
- 套接字的地址结构
- IPV4套接字地址结构
- Unix套接字地址结构
- IPv4套接字地址结构
- 不同套接字结构示意图
- 文件监控(一) 处理结构(pthread)
- servlet是单例的 所以需要线程安全 以及如何实现线程安全
- Android 界面滑动实现---Scroller类 从源码和开发文档中学习(让你的布局动起来)
- android sqllte增删改查
- 安装linux版myeclipse
- 套接字发送结构体
- Poj3301 三分法解题报告
- HDU 1215 七夕节
- linux 启动navicat
- 《算法导论》笔记 第15章 15.4 最长公共子序列
- restrict
- 三种情境下的友好处理
- upc2585: Rightmost non-zero Digit in N! 快速素数表+快速幂
- Android-自定义Dialog