没有合适的资源?快使用搜索试试~ 我知道了~
首页socket传输结构体的解决办法
资源详情
资源评论
资源推荐

Linux 下 Socket 编程中用 send 发送结构体
来源:中国自学编程网 发布日期:2008-10-27
Linux 网络通信 Linux 下多客户端聊天软件 Linux 程序设计 Linux socket
send and recevie structure
最近在开发一个 Linux 下的聊天软件,好久没有做 C 语言的开发了,感觉到很
多东西已经生疏了,这下又碰到用 Socket 传递结构体的问题,google 了一
下,发现也有不少朋友遇到同样的问题,所以就打算写出自己的解决办法,跟
大家分享。
Socket 中的 send 函数可以发送字符串,但不能直接发送结构体,因此在发送
端先把结构体转成字符串,然后用 send 发送,在接收端 recv 字符串,再转换
成原先的结构体,这个就是解决问题的主要思路,实现中要注意的问题在下文
阐述。
为了客户端之间能够互相通信,实现私聊,我采用服务器转发的方式,因此用
户发送的每条消息中除了消息主体外,还必须包含有发送者、接收者 ID 等信
息,如此采用结构体便是最佳的办法了。我定义的结构体如下:
struct send_info
{
char info_from[20]; //发送者 ID
char info_to[20]; //接收者 ID
int info_length; //发送的消息主体的长度
char info_content[1024]; //消息主体
};
发送端主要代码(为了简洁说明问题,我把用户输入的内容、长度等验证的代
码去掉了):

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论15