【问题标题】:Obtaining IP address after broadcasting using C in linux在linux中使用C广播后获取IP地址
【发布时间】:2011-09-21 21:04:58
【问题描述】:

我在 linux 下用 C 语言编写了一个简单的客户端服务器程序。我已经创建了 UDP 套接字。客户端使用

广播消息
sendto(clientsock, buf, 100, 0, (struct sockaddr *)&to, sizeof (to)); 

服务器接收广播消息使用

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

服务器正在成功接收消息。在服务器端,我需要找到收到的消息的源 IP 地址。我该怎么做?

【问题讨论】:

标签: c linux networking gcc


【解决方案1】:

像这样的电话 -

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);

【讨论】:

  • 看在上帝的份上,至少使用inet_ntop
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
  • 2011-05-07
  • 2010-10-16
  • 2015-06-22
  • 1970-01-01
相关资源
最近更新 更多