
getsockname
客户端
发布日期:2021-05-07 02:41:58
浏览次数:19
分类:精选文章
本文共 2272 字,大约阅读时间需要 7 分钟。
函数原型
#includeint getsockname(int sockfd, struct sockaddr *localaddr, socklen_t *addrlen); int getpeername(int sockfd, struct sockaddr *peeraddr, socklen_t *addrlen);调用成功,则返回0,如果调用出错,则返回-1
/*客户端*/#define PORT 6563#include#include #include #include #include #include int main(int argc, char **argv){ struct sockaddr_in servaddr; //服务器端地址 struct sockaddr_in clientAddr; //客户端地址 int sockfd; socklen_t clientAddrLen = sizeof(clientAddr); char ipAddress[INET_ADDRSTRLEN]; //保存点分十进制的ip地址 if (argc < 2) { printf("parameter error\n"); printf("Example: ./client 127.0.0.1"); return 0; } sockfd = socket(AF_INET, SOCK_STREAM, 0); memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(PORT); if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0) { printf("server address error\n"); //地址参数不合法 } connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); //向服务器端发起连接请求 getsockname(sockfd, (struct sockaddr *)&clientAddr, &clientAddrLen); //获取sockfd表示的连接上的本地地址 printf("client:client ddress = %s:%d\n", inet_ntop(AF_INET, &clientAddr.sin_addr, ipAddress, sizeof(ipAddress)), ntohs(clientAddr.sin_port)); return 0;}
/*客户端*/#define PORT 6563#include#include #include #include #include #include int main(int argc, char **argv){ struct sockaddr_in servaddr; //服务器端地址 struct sockaddr_in clientAddr; //客户端地址 int sockfd; socklen_t clientAddrLen = sizeof(clientAddr); char ipAddress[INET_ADDRSTRLEN]; //保存点分十进制的ip地址 if (argc < 2) { printf("parameter error"); return 0; } sockfd = socket(AF_INET, SOCK_STREAM, 0); memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(PORT); if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0) { printf("server address error\n"); //地址参数不合法 } connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); //向服务器端发起连接请求 getsockname(sockfd, (struct sockaddr *)&clientAddr, &clientAddrLen); //获取sockfd表示的连接上的本地地址 printf("client:client ddress = %s:%d\n", inet_ntop(AF_INET, &clientAddr.sin_addr, ipAddress, sizeof(ipAddress)), ntohs(clientAddr.sin_port)); return 0;}
服务器


发表评论
最新留言
很好
[***.229.124.182]2025年03月23日 16时53分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MySQL不会丢失数据的秘密,就藏在它的 7种日志里
2021-05-09
Python开发之序列化与反序列化:pickle、json模块使用详解
2021-05-09
回顾-生成 vs 判别模型-和图
2021-05-09
采坑 - 字符串的 "" 与 pd.isnull()
2021-05-09
无序列表 - 链表
2021-05-09
SQL 查询强化 - 数据准备
2021-05-09
SQL 强化练习 (四)
2021-05-09
SQL 强化练习 (八)
2021-05-09
Excel 拼接为 SQL 并打包 exe
2021-05-09
Pandas数据分析从放弃到入门
2021-05-09
Matplotlib绘制漫威英雄战力图,带你飞起来!
2021-05-09
机器学习是什么
2021-05-09
《小王子》里一些后知后觉的道理
2021-05-09
《自私的基因》总结
2021-05-09
《山海经》总结
2021-05-09
《非暴力沟通》总结
2021-05-09
《你当像鸟飞往你的山》总结
2021-05-09
《我是猫》总结
2021-05-09
《抗糖化书》总结
2021-05-09
apache虚拟主机配置
2021-05-09