네트워크상의 세 가지 다른 컴퓨터에서 작동하는 세 가지 코드를 작성했습니다.두 프로그램이 네트워크를 통해 동기화되도록 만들기
PC1의 코드 1과 PC2의 코드 2는 PC3 (서버)의 코드 3에 2 개의 다른 데이터 패킷을 보냅니다. PC3 (서버)의 코드 3이 PC1과 PC2의 패킷을 가져 와서 XOR하여 PC 4,5,6에 멀티 캐스트합니다.
시스템은 정상적으로 작동하지만 문제가 있습니다. PC3 (Server)는 PC1과 PC2의 패킷을 차례로 가져와야합니다. 하나는 PC1에서 다음은 PC2에서입니다. 동일한 출처의 두 개의 연속 된 패킷이 시스템을 망칠 수 있습니다. 어떻게 서버를 순서대로 가져 오게 할 수 있습니까? 대부분의 패킷은 순서대로 나오지만 몇 백 개의 패킷 중 한두 번씩 건너 뛰면 시스템이 잘못된 결과를냅니다. 나는 리눅스 btw gcc를 사용하여 일하고 있습니다.
감사합니다.
어떻게 네트워크를 통해 전송합니까? 시퀀스 번호로 모든 것을 태그하거나 TCP와 같은 시퀀싱을 보장하는 적절한 프로토콜을 사용하면 어떤 문제가 발생합니까? – luk32
두 개의 다른 패킷 세트를 대기열로 밀어 넣을 수 있습니다 (작성해야합니다). 그리고 원하는 대기열에서 대기열로 가져갈 수 있습니다. 패킷에 시간 소인을 써야 순서가 맞는지 확인할 수 있습니다. –
패킷 교환 방법은 무엇입니까? 두 개의 소켓에서 TCP가 교대로 읽을 수 있다고 해봅시다. – Prabhu