2013-05-14 1 views
0

내가 (Windows7의 아래)는 와이어 샤크를 사용하여 데이터 UDP 소켓을 사용하여 데이터를 전송하고 포착하기 위해 노력하고있어 :이상한 UDP 소켓 sendto를 작동

client_sockd= socket(AF_INET,SOCK_DGRAM,IPPROTO_IP);  
client_address.sin_family = AF_INET; 
client_address.sin_addr.s_addr = inet_addr("192.168.3.100"); 
client_address.sin_port=htons(8015); 
client_len=sizeof(client_address); 
int sended = sendto(client_sockd,buf,11,0,(const struct sockaddr *)&client_address,sizeof(client_address)); 

올바른 IP로 패킷을 전송 있어요하지만 이명 령 포트가되기를 2698. 코드에서 포트를 변경하려고하지만 실제 목적지 포트에 아무런 영향을 미치지 않습니다. 그것은 여전히 ​​2698입니다. 어떻게 고칠 수 있습니까?

답변

0

IPPROTO_IP 대신 IPPROTO_UDP을 시도해보십시오 답변

client_sockd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);  
+0

감사합니다. 나는 긍정적 인 결과없이 두 변종을 시도했다. – qmor

+0

프로그램을 변경 한 후 프로그램을 다시 컴파일 하시겠습니까? 당신이 보는 것은 매우 이상합니다. 개발 환경이 무엇입니까? –

+0

내 개발 환경이 mingw와 일식입니다. 코드를 변경 한 후 깨끗하고 재구성하여 everithing이 최신 상태인지 확인합니다. – qmor