完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
socket通讯中send函数直接传送的是字符串
为了避免客户端和服务器断的数据格式转换,使用结构体传输较为合适 -------------------- 客户端 1 首先定义结构体 struct ccommand{ unsigned int mode; unsigned int action; }; 2 申请发送缓存区 char send_buf[256]; 3 定义结构体变量并给结构体赋值 struct ccommand ccmd; ccmd.mode = strtol(argv[1],&stop,16); ccmd.action = strtol(argv[2],&stop,16); *************************** 此处接收main(int argc, char *argv[])函数的第二个参数变量 因为atoi()只支持十进制的字符串转换,当输入的参数为是16进制时,atoi()则不能识别 因此选择函数strtol(); 4 清空发送缓存并将结构体复制到发送缓存中 memset(send_buf,0,sizeof(send_buf)); memcpy(send_buf,&ccmd,sizeof(ccmd)); 5 发送 send_num = sendto(sock_fd,send_buf,sizeof(send_buf),0,(struct sockaddr *)&addr_serv,dest_len); ************************************** 服务器端以同样的结构体解析即可 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4874 浏览 0 评论
87365 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4686 浏览 2 评论
3576 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2459 浏览 0 评论
1956浏览 3评论
这是i.mx6ull的关于usb的宏定义,能解释下这些宏定义的意思
1323浏览 1评论
1233浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1301浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1215浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 10:44 , Processed in 1.208981 second(s), Total 73, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号