资源简介
linux下ipv6简单的tcp/udp socket通信,代码测试通过,具体可以参考:
http://blog.csdn.net/zhengxianghdu/article/details/14106167

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MAXBUF 1024
int main(int argc char **argv)
{
int sockfd len;
/* struct sockaddr_in dest; */ // IPv4
struct sockaddr_in6 dest; // IPv6
char buffer[MAXBUF + 1];
if (argc != 3) {
printf
(“参数格式错误!正确用法如下:\n\t\t%s IP地址 端口\n\t比如:\t%s 127.0.0.1 80\n此程序用来从某个 IP 地址的服务器某个端口接收最多 MAXBUF 个字节的消息“
argv[0] argv[0]);
exit(0);
}
/* socket for tcp */
/* if ((sockfd = socket(AF_INET SOCK_STREAM 0)) < 0) { */ // IPv4
if ((sockfd = socket(AF_INET6 SOCK_STREAM 0)) < 0) { // IPv6
perror(“Socket“);
exit(errno);
}
printf(“socket created\n“);
/* 初始化服务器端(对方)的地址和端口信息 */
bzero(&dest sizeof(dest));
/* dest.sin_family = AF_INET; */ // IPv4
dest.sin6_family = AF_INET6; // IPv6
/* dest.sin_port = htons(atoi(argv[2])); */ // IPv4
dest.sin6_port = htons(atoi(argv[2])); // IPv6
/* if (inet_aton(argv[1] (struct in_addr *) &dest.sin_addr.s_addr) == 0) { */ // IPv4
if ( inet_pton(AF_INET6 argv[1] &dest.sin6_addr) < 0 ) { // IPv6
perror(argv[1]);
exit(errno);
}
printf(“address created\n“);
/* 连接服务器 */
if (connect(sockfd (struct sockaddr *) &dest sizeof(dest)) != 0) {
perror(“Connect “);
exit(errno);
}
printf(“server connected\n“);
/* 接收对方发过来的消息,最多接收 MAXBUF 个字节 */
bzero(buffer MAXBUF + 1);
/* 接收服务器来的消息 */
len = recv(sockfd buffer MAXBUF 0);
if (len > 0)
printf(“接收消息成功:‘%s‘,共%d个字节的数据\n“
buffer len);
else
printf
(“消息接收失败!错误代码是%d,错误信息是‘%s‘\n“
errno strerror(errno));
bzero(buffer MAXBUF + 1);
strcpy(buffer “这是客户端发给服务器端的消息\n“);
/* 发消息给服务器 */
len = send(sockfd buffer strlen(buffer) 0);
if (len < 0)
printf
(“消息‘%s‘发送失败!错误代码是%d,错误信息是‘%s‘\n“
buffer errno strerror(errno));
else
printf(“消息‘%s‘发送成功,共发送了%d个字节!\n“
buffer len);
/* 关闭连接 */
close(sockfd);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3185 2013-11-04 10:30 ipv6_simple_tcp_udp\tcp-server-ipv6.c
文件 1025 2013-09-30 16:59 ipv6_simple_tcp_udp\udp-client-ipv6.c
文件 1379 2013-11-04 15:09 ipv6_simple_tcp_udp\udp-server-ipv6.c
文件 2726 2013-11-04 10:31 ipv6_simple_tcp_udp\tcp-client-ipv6.c
目录 0 2013-09-30 18:23 ipv6_simple_tcp_udp
----------- --------- ---------- ----- ----
8315 5
相关资源
- TCP IP通信labview程序
- Modbus协议官方文档中、英文全
- Omron ETN21模块进行modbustcp通讯
- uboot到linux logo显示不间断 补丁
- UNIX/LINUX编程实践教程的源码
- Linux任务管理器
- linux应用层的华容道游戏源代码
- ubuntu9.10 可加载内核模块和字符设备驱
- ipv6网络抓包程序
- MP3文件ID3v2ID3v2APEv2标签读取
- 组态王中S7-300TCP驱动
- 基于Apache Mina实现的TCP长连接和短连接
- 操作系统实验——虚存管理实验
- linux下的发包工具sendip
- 尚观培训linux许巍关于c 的笔记和讲义
- 尚观培训linux董亮老师关于数据结构的
- linux 线程池源码 c 版
- linux C 电梯程序练习
- CVI下的TCP服务器和客户端
- 代码客:G-TcpServer(IOCP) 1.0 正式版及
- linux下用多进程同步方法解决生产者
- TCP 发包工具(windows)
- Linux 操作系统实验(全)
- Linux From Scratch 中文手册
- linux 网络实验 ftp程序
- Linux命令大全离线版&在线版
- 操作系统共享内存实验
- dos 下运行Linux 命令--gnu_utils
- linux 0.12内核源代码
- linux简易shell C实现
评论
共有 条评论