簡體   English   中英

在Linux中使用C廣播后獲取IP地址

[英]Obtaining IP address after broadcasting using C in linux

我已經在Linux下用C編寫了一個簡單的客戶端服務器程序。 我已經創建了UDP套接字。 客戶端使用以下方式廣播消息

sendto(clientsock, buf, 100, 0, (struct sockaddr *)&to, sizeof (to)); 

服務器使用以下方式接收廣播的消息

recvfrom(serversock, buf, 100, 0, (struct sockaddr *)&rcv,&size);

服務器已成功接收到該消息。 在服務器端,我需要找到收到消息的源IP地址。 我怎樣才能做到這一點 ?

打電話給-

recvfrom(s, buf, BUFLEN, 0, &si_other, &slen)

采用

printf("Received packet from %s:%d\nData: %s\n\n", inet_ntoa(si_other.sin_addr), ntohs(si_other.sin_port), buf);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM