У меня проблема.
Я написал программу на C ++, указанный порт 60000.
m_pConn.sin_port = htons( 60000 );
и затем, когда программа (TCPFileSe) запустилась, я заметил, что LISTENING порт не 60000.
Вот мой список прослушивающих портов ..
christof-kims-Mac:~ christof-kim$ lsof -i | grep LISTEN
rapportd 639 christof-kim 3u IPv4 0x1b8366a443833957 0t0 TCP *:49234 (LISTEN)
rapportd 639 christof-kim 4u IPv6 0x1b8366a4437c0def 0t0 TCP *:49234 (LISTEN)
**TCPFileSe 24454 christof-kim 3u IPv4 0x1b8366a446445957 0t0 TCP *:50087 (LISTEN)**
когда я запрограммировал второй запуск ..
christof-kims-Mac:~ christof-kim$ lsof -i | grep LISTEN
rapportd 639 christof-kim 3u IPv4 0x1b8366a443833957 0t0 TCP *:49234 (LISTEN)
rapportd 639 christof-kim 4u IPv6 0x1b8366a4437c0def 0t0 TCP *:49234 (LISTEN)
**TCPFileSe 24647 christof-kim 3u IPv4 0x1b8366a446445957 0t0 TCP *:50117 (LISTEN)**
Я не понимаю, почему LISTENING порт не 60000.
Не могли бы вы помочь мне, почему LISTENING порт 50087, 50117?
Или Mac OS не поддерживается указанным портом ???
Мне нужен указанный порт (например, 60000).
Этот код является просто написанным языком c ++ для Mac OS 10.13.6.
Я пробовал использовать консольный инструмент Mac OS.
sockaddr_in m_pConn;
m_pConn.sin_family = AF_INET;
m_pConn.sin_addr.s_addr = inet_addr( "0.0.0.0" );
m_pConn.sin_port = htons( 60000 );
bind(m_nSocket, (struct sockaddr *) &m_pConn, sizeof(m_pConn));
socklen_t len = sizeof(m_pConn);
// Listen on the socket.
if ( listen( m_nSocket, 1 ) == -1 )
printf( "Error listening on socket.\n");