0
我想使用libpcap的 的代碼片段如下pcap_next()函數應該放在數據包傳輸之前還是之後?
pcap_packet = pcap_next(pcap_handler, &pcap_header);
if(pcap_packet !=NULL)
printf("capture one packet with length of %d\n", pcap_header.len);
// establish TCP connection with the server
connect(sd_cli, (struct sockaddr *)&svr_addr, sizeof(svr_addr));
process(pcap_packet);
我不知道我是否應該把pcap_next()函數之前連接(捕捉的TCP-3WAY握手的ACK包)或之後連接()?我有點在回調函數機制失去
誰能解釋一下這個例子嗎?感謝
那麼,如何同步線程?讓他們同時準確運行? – user1944267 2013-03-22 17:35:17
爲什麼在'pcap_next'之前連接'?在connect之後,數據包已經被接收,並且在接收到數據包之後,調用'pcap_next',看起來'pcap_next'什麼都不會捕獲? – user1944267 2013-03-22 17:36:40
您不需要應用程序同步,捕獲線程中的數據包並過濾它們以收集您想要的內容。 – deepmax 2013-03-22 17:38:22