如何将sin_addr.S_un转换为char *?

发布于 2024-10-30 01:35:18 字数 208 浏览 0 评论 0原文

在发件人向我发送内容后,我需要从发件人那里获取 IP 地址。我使用的是 UDP 套接字,因此发送者的 IP 地址将自动注册到 sin_addr 结构中,因为我使用的是 recvfrom() 函数。

如何操作 sin_addr 结构并将其转换为 char *

谢谢。

I need to get an IP address from a sender after he sent something to me. I'm using UDP socket, so the IP address of the sender will be automatically registered into sin_addr structure since I'm using recvfrom() function.

How do I manipulate the sin_addr structure and convert it into a char *?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

[浮城] 2024-11-06 01:35:18

inet_ntoa

struct sockaddr_in in_sa; 
char* ip_addr_text = inet_ntoa( in_sa.sin_addr );

如果您想保留它以供以后使用,您应该制作一份副本,例如:

std::string ip_txt( inet_ntoa( in_sa.sin_addr ) );
// other stuff
std::cout << ip_txt << std::endl;

inet_ntoa ?

struct sockaddr_in in_sa; 
char* ip_addr_text = inet_ntoa( in_sa.sin_addr );

If you want to keep it for later use you should make a copy, for instance:

std::string ip_txt( inet_ntoa( in_sa.sin_addr ) );
// other stuff
std::cout << ip_txt << std::endl;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文