博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux网络编程 recvmsg()函数 实例
阅读量:6550 次
发布时间:2019-06-24

本文共 1589 字,大约阅读时间需要 5 分钟。

本程序是recvmsg()函数的简单应用:

/* ************************************************************************  *       Filename:  msg.c  *    Description:   *        Version:  1.0  *        Created:  2011年08月16日 20时07分52秒  *       Revision:  none  *       Compiler:  gcc  *         Author:  YOUR NAME (),  *        Company:   * ************************************************************************/  #include 
#include
#include
#include
#include
#include
#include
void SendMsgRecvMsg() { int sock_fd; socklen_t sender_len; struct msghdr msg; struct iovec iov; struct sockaddr_in receiver_addr,sender_addr; char line[10]; sock_fd = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); if(sock_fd < 0) { perror("socket error"); close(sock_fd); exit(0); } receiver_addr.sin_family = AF_INET; receiver_addr.sin_port = htons(5000); receiver_addr.sin_addr.s_addr = htonl(INADDR_ANY); if(bind(sock_fd,(struct sockaddr*)&receiver_addr,sizeof(receiver_addr)) < 0) { perror("bind error"); close(sock_fd); exit(0); } sender_len = sizeof(sender_addr); msg.msg_name = &sender_addr; msg.msg_namelen = sender_len; msg.msg_iov = &iov; msg.msg_iovlen = 1; msg.msg_iov->iov_base = line; msg.msg_iov->iov_len = 10; msg.msg_control = 0; msg.msg_controllen = 0; msg.msg_flags = 0; printf("wait...\n"); recvmsg(sock_fd,&msg,0); printf("wait is over!\n"); printf("the msg is %s\n",(char *)(msg.msg_iov->iov_base)); close(sock_fd); } int main(int argc ,char *argv[]) { SendMsgRecvMsg(); return 0; }

显示效果如下:

转载地址:http://nyyco.baihongyu.com/

你可能感兴趣的文章
Prestashop--配置到阿里云
查看>>
【三招给系统“添加/删除程序”提速】
查看>>
基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用
查看>>
UWP消息通知
查看>>
反射工具类.提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class,被AOP过的真实类等工具函数.java...
查看>>
电子学习产品缘何备受青睐?
查看>>
名词解释
查看>>
webmagic 下载页面
查看>>
探索c#之一致性Hash详解
查看>>
jQuery操作DOM
查看>>
【转】IE6、IE7下绝对定位position:absolute和margin的冲突bug解决方法
查看>>
2017 校赛 问题 E: 神奇的序列
查看>>
leetcode 46-Permutations and 47-Permutations II
查看>>
每日一小练——二项式系数加法解
查看>>
培养良好的注释习惯
查看>>
比较讨厌的一种编程方式
查看>>
IO多路复用之epoll
查看>>
双向链表实现队列与循环链表
查看>>
Git多帐号配置,管理多个SSH
查看>>
Windows平台下Glade+GTK开发环境的搭建
查看>>