从Linux中的socket编程中侦听和接受的连接中提取IP
发布时间:2020-12-14 01:37:53 所属栏目:Linux 来源:网络整理
导读:在以下代码中,我想在接受传入连接后提取已连接客户端的IP地址.在accept()实现之后我该怎么办? int sockfd,newsockfd,portno,clilen;portno = 8090;clilen = 0;pthread_t serverIn;struct sockaddr_in serv_addr,cli_addr;sockfd = socket(AF_INET,SOCK_STRE
在以下代码中,我想在接受传入连接后提取已连接客户端的IP地址.在accept()实现之后我该怎么办?
int sockfd,newsockfd,portno,clilen; portno = 8090; clilen = 0; pthread_t serverIn; struct sockaddr_in serv_addr,cli_addr; sockfd = socket(AF_INET,SOCK_STREAM,0); if (sockfd < 0) { perror("ERROR opening socket"); } bzero((char *) & serv_addr,sizeof (serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_port = htons(portno); serv_addr.sin_addr.s_addr = INADDR_ANY; if (bind(sockfd,(struct sockaddr *) & serv_addr,sizeof (serv_addr)) < 0) { perror("ERROR on binding"); } listen(sockfd,5); clilen = sizeof (cli_addr); newsockfd = accept(sockfd,(struct sockaddr *) & cli_addr,&clilen); 解决方法
getpeername()
见the helpful description of how to use it over at the indispensable Beej’s Guide to Network Programming. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 丢失的Linux root密码 – 恢复模式和init = / bin / bash失
- linux – 新用户的选项卡自动完成功能
- linux – Puppet节点不会从master中提取更改
- linux – 如何使用Glade / GtkD和D编程语言显示Hello Worl
- redhat – 仅限HTTPS的kickstart
- linux – 使用IP V6寻址多少钱?
- LINUX的bash如何给shell脚本传参数
- linux – 如何在bash中获取从Ping接收的数据包的百分比?
- LINUX教学:Linux探索之旅 | 第四部分第五课:源码编译,安装
- linux – 如何使用sed命令删除没有备份文件的行?