前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >检测服务器端口是否被占用

检测服务器端口是否被占用

作者头像
jianghaibobo
发布2019-09-11 16:20:19
1.3K0
发布2019-09-11 16:20:19
举报
 1 for (int port=begin; port <= end; port++){
 2         /*定义socket*/
 3         int server_sockfd = socket(AF_INET, SOCK_STREAM, 0);
 4 
 5         /*定义sockaddr_in 的变量*/
 6         struct sockaddr_in server_sockaddr;
 7         server_sockaddr.sin_family = AF_INET;
 8         server_sockaddr.sin_addr.s_addr=htonl(INADDR_ANY);
 9         server_sockaddr.sin_port = htons(port);
10         //server_sockaddr.sin_port = 0; /*端口范围是0~65535 1~1023为保留端口号*/
11        
12         /*检查端口占用情况,列出占用端口号*/
13         if (bind (server_sockfd, (struct sockaddr *) &server_sockaddr, sizeof(\
14         server_sockaddr)) == -1){
15             printf ("%d\n", port);
16             alread_port_cnt++;
17             //break;
18         } else {
20             idle_port_cnt++;
21         }
22         close (server_sockfd);
23     }/*循环结束*/

用bind()函数就可以,成功返回0, 占用返回-1.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档