资源简介
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
相关资源
- qt网络五子棋
- linux c tcp socket 多线程简易聊天室
- rk3288平台深度学习框架caffe+opencv环境
- 最新的libssh2库源码
- tcp、ip课程设计
- Tcpdump抓包工具免安装版v4.5.1
- 最好用的TCP+UDP+UART调试工具
- LINUX 串口与SPI操作
- 嵌入式Linux应用系统开发精讲源码
- TCPIP协议族 第四版答案1~16章
- 深入理解计算机系统原书第三版超高
- linux下基于V4L2/Qt的usb摄像头采集显示
- TCP_UDP_PerformanceTest.exe
- linux下哲学家就餐问题大作业
- linux下c (一个简单的sniffer工具)
- linux下使用IIC总线读写EEPROM
- linux 目录树实现代码递归
- IPv6传输&即时通信
- Linux下基于原始套接字的嗅探器
- 详细介绍linux下移植wifi的步骤
- boost asio 服务器和客户端 TCP
- Socket 类封装 改进版
- MODBUS-CSharp tcp测试正常
- Qt实现TCP文件传输
- linux环境rtmp推流
- 为LINUX 设计一个简单的二级文件系统
- Linux引导删除工具(mbrfix)
- mini6410 所有应用程序源码
- linpop neusoft
- 使用TCPServer编写多线程socket服务
评论
共有 条评论