TCP 服务器在 ubuntu 14.04 上使用错误的端口号

阿布舍克萨加尔

我正在用 C 进行套接字编程,当我在地址 INADDR_ANY 和端口号 2000 上启动我的 tcpserver 时,它启动良好。但是使用命令 'netstat -tulpn' ,它显示服务器被分配了端口号53255客户端在使用服务器端口号连接时可以连接到此服务器53255,但在尝试连接到端口号“2000”时会被拒绝。

有人可以解释为什么系统将错误的端口号分配给我的 tcpserver 而不是我想要使用的端口号 2000。

vm@vm:~/Documents/csepracticals/webserver/TCPWebserver$ netstat -tulpn
...
...
tcp        0      0 0.0.0.0:53255           0.0.0.0:*               LISTEN      16291/webserver`


server_addr.sin_family = AF_INET;
server_addr.sin_port = SERVER_PORT; /*#defined to 2000*/
server_addr.sin_addr.s_addr = INADDR_ANY;
bind(master_sock_tcp_fd, (struct sockaddr *)&server_addr, sizeof(struct sockaddr));
安德烈斯·迪·乔瓦尼

你应该使用htons(SERVER_PORT)而不是SERVER_PORT

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章