![동일한 포트를 수신하는 두 개의 로컬 주소가 있습니까?](https://linux55.com/image/132172/%EB%8F%99%EC%9D%BC%ED%95%9C%20%ED%8F%AC%ED%8A%B8%EB%A5%BC%20%EC%88%98%EC%8B%A0%ED%95%98%EB%8A%94%20%EB%91%90%20%EA%B0%9C%EC%9D%98%20%EB%A1%9C%EC%BB%AC%20%EC%A3%BC%EC%86%8C%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
이것을 어떻게 netstat -a | grep 8081
표시할 수 있습니까?
localhost.8081 *.* 0 0 49152 0 LISTEN
*.8081 *.* 0 0 49152 0 LISTEN
두 번째 항목에 대해 이것이 무엇을 의미하는지 잘 이해하지 못합니다.
UPDATE_1: 두 개의 서로 다른 프로세스가 8081을 수신하고 있는 것을 확인했습니다... 저는 이것이 불가능하다고 생각하곤 했습니다. 한 프로세스는 브라우저 요청을 처리하는 데 포트 8081이 사용되는 Jboss이고, 다른 프로세스는 포트 8081을 닫는 데 사용되는 Gitblit GO(JAR에 서버 내장 가능)입니다.
답변1
위의 의견을 설명하기 위해 다음 실험을 수행했습니다. netcat
명령을 사용하여 두 개의 간단한 TCP 서버를 구현했습니다 . 내 시나리오는 *:8081 대신 공용 IP에 명시적으로 바인딩하기 때문에 귀하의 시나리오와 약간 다릅니다.
# Terminal 1
$ nc -kl 127.0.0.1 24482
별도의 터미널에서:
# Terminal 2
$ nc -kl <public_ip> 24482
localhost의 다른 터미널에서:
# Terminal 3
$ telnet localhost 24482
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
hi
^]
telnet> q
Connection closed.
나중에 hi
제1터미널에서 봤어요.
다음으로, 원격 노드에서:
# Terminal 4 (on remote node)
$ telnet <public_ip> 24482
Trying <public_ip>...
Connected to <public_ip>.
Escape character is '^]'.
ho
^]
telnet> q
Connection closed.
나중에 ho
제2터미널에서 봤어요.
테스트할 Solaris 환경이 없지만 이것이 여러분이 보게 될 동작이라고 생각합니다.