현재 여러 실행 파일 (음성 채팅 서버)을 생성하는 데 사용하는 작은 Python 스크립트가 있으며 다음 버전의 소프트웨어에서는 서버가 UDP 포트에서 하트 비트 신호를 수신 할 수 있습니다. (하나의 컴퓨터에 수천 개의 서버가 7878 번 포트 이상에 있음)동일한 UDP 포트를 사용하는 여러 프로그램? 가능한?
내 문제는이 서버가 파이썬 스크립트와 동일한 컴퓨터에서 실행 중일 수 있다는 것입니다. UDP 포트를 열어 하트 비트를 보내고 응답을 기다리고 voila ... 작업을 죽이고 서버를 다시로드하여 응답하지 않는 경우 서버를 다시 시작할 수 있습니다.
문제는 서버가 이미 사용하고있는 UDP 포트를 열 수 없다는 것입니다. 이 문제를 해결할 방법이 있습니까? 프로젝트 리더는 여전히 하트 비트를 구현하고 있으므로 하트 비트 시스템을 구현하는 방법에 대한 제안도 환영 할 것입니다. - 이것은 꽤 일반적인 스크립트이지만 다른 프로그램에도 적용 할 수 있으므로 내 주요 관심사는 여전히 해당 UDP 포트에서 통신 중입니다.
정의 상으로는 불가능합니다. 포트 당 하나의 프로그램은 UDP (및 TCP)가 작동하는 방식입니다. 하나의 프로그램이 다른 프로그램으로 파견 될 수 있습니다. –
당신이 맞습니다, OS를 통해 불가능합니다. 네트워크 어댑터에 대한 원시 액세스 권한이 있다면 (libpcap 또는 비슷한 방법을 통해) 가능할 수도 있지만 꽤 될 것입니다 ... – Wim
특정 방식으로 하트 비트를 구현하는 것처럼 구현 방식이 있습니까? 브로드 캐스트 패킷을 보낼 수 있으며 응답을 열린 포트로 보낼 수 있습니까? 모든 서버가 패킷을 수신하고 7877에서 회신하도록 지시받을 수 있습니까? - 프로젝트 리드는 내가 의심하는 것과 같은 것들에 열려 있습니다. – ThantiK