Linux网络编程组播测试代码
Linux网络编程组播测试代码 (转载)
组播客户端代码如下:
#include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #define BUFLEN 255 int sockfd; /* 创建 socket 用于UDP通讯 */ /* 设置对方的端口和IP信息 */ /* 设置自己的端口和IP信息 */ if (argv[3]) { /* 绑定自己的端口和IP信息到socket上 */ /* 循环接受用户输入的消息发送组播消息 */ |
组播服务器端程序源代码为:
#include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <netdb.h> #include <errno.h> #define BUFLEN 255 /* 创建 socket 用于UDP通讯 */ /* 设置要加入组播的地址 */ bcopy((void *) group->h_addr, (void *) &ia, group->h_length); /* 设置发送组播消息的源主机的地址信息 */ /* 把本机加入组播地址,即本机网卡作为组播成员,只有加入组才能收到组播消息 */ socklen = sizeof(struct sockaddr_in); /* 绑定自己的端口和IP信息到socket上 */ /* 循环接收网络上来的组播消息 */ |
编译程序用下列命令:
gcc -Wall mcastclient.c -o mcastclient
gcc -Wall mcastserver.c -o mcastserver
运行程序用如下命令:
./mcastserver 230.1.1.1 7838
客户端程序运行命令为:
./mcastclient 230.1.1.1 7838 192.168.100.1 12345
最新文章
- <;<;<; html5本地储存
- Swift 02.Array
- hibernate的数据库乱码问题
- Android 开发之 Android 开发的起步
- 【shell】变量的配置文件
- 【BZOJ】【2844】albus就是要第一个出场
- well-posed problem and ill-posed problem
- xp宿主机和VMware下Ubuntu12.04共享文件夹
- 使用SQL循环打印&#39;*&#39;菱形
- shell执行php文件传递参数
- zabbix agent自动安装脚本
- 一步一步从原理跟我学邮件收取及发送 12.telnet命令行收一封信pop3
- elastalert
- ubuntu14/16 安装python3-opencv3_百度经验
- PAT L2-007 家庭房产
- springboot整合dubbo\zookeeper做注册中心
- css3+svg实现波浪图
- Linux背背背(4)vim操作
- Sql_连接查询中on筛选与where筛选的区别
- 【Hbase学习之二】Hbase 搭建
热门文章
- [转]Mysql命令
- [java]final关键字、finally关键字与finalize()方法
- redis主从架构及redis集群
- An Assembly Language
- CodeForces 455C Civilization(并查集+树直径)
- Struts2 - 异常处理: exception-mapping 元素
- I.MX6 FFmpeg 录制视频
- AAC_LC用LATM封装header信息解析 Audio Specific Config格式分析
- 九省联考2018 D1T1 一双木棋
- 使用 Anthem.NET 的常见回调(Callback)处理方式小结