Я занимаюсь программированием сокетов на C, и когда я запускаю свой tcpserver по адресу INADDR_ANY и порту 2000, он запускается хорошо.Но, используя команду netstat -tulpn, она показывает, что серверу назначен номер порта 53255
.Клиенты могут подключаться к этому серверу, когда они подключаются, используя номер порта сервера 53255
, но получают отказ в подключении, когда они пытаются подключиться к номеру порта «2000».
Может кто-нибудь объяснить, почему система назначает неправильный порт no моему 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));