그래서 PCap 라이브러리의 수신 기능에 문제가 있습니다.PCap 라이브러리 문제 수신
패킷을 가져 와서 주위를 돌리는 에코 서버 (내 PC 외부)를 설치했습니다. 그래서, 내 응용 프로그램에서 패킷을 보내 (잘 작동합니다) 및 응답 패킷 (에코 서버에서) pcap_next() 받았습니다. Wireshark가 패킷이 1ms 미만으로 돌아 다니는 것을 보여 주더라도 pcap_next()로 패킷을 받기 위해 어떤 이유로 1 초를 기다릴 것입니다. 따라서 1000 개의 패킷을 보낼 때 모든 응답을 수신하는 데 1000 초가 소요됩니다.
왜 그렇게했는지 알 수 없으므로 pcap_loop()으로 전환 해 보았습니다. 이제는 더 이상한 일을하고있는 것 같습니다. 내가 1000 패킷을 보내 1000 패킷을받을 수 있지만 내가 기대하는 순서로.
Send packet #1
Receive packet #1
Send packet #2
Receive packet #2
etc.
을하지만이 정말 무엇을 얻을 :
나는이 (이것은 내가 와이어 샤크에 표시되는 내용입니다) 기대Send packet #1
Send packet #2
etc.
Wait 1 second
Receive packet #1
Receive packet #2
etc.
여기 무슨 일이야?
'TCP_NODELAY'가있는'setsockopt'를 사용해 보셨습니까? (저기서 무작위로 던지면 ... 관련성이 있는지 궁금하다. http://en.wikipedia.org/wiki/Nagle%27s_algorithm) – HostileFork
해당 사항 없음. 원시 UDP 패킷을 보냈습니다. – theanine