我目前正在从一个客户端接收请求的UDP服务器上工作。我收到的数据报是一个长度为5个字节的字节(char)数组,最后两个元素是一个端口号。从sockaddr_storage中提取IP地址和端口信息
最终,这个服务器将不得不返回它自己的数据报中的IP地址和端口号。
我已经知道如何使用inet_ntop和sockaddr结构,我已经连接并从打印出来的ip收到,但它返回的字符串不是我想要的格式。例如:
string1 = inet_ntop(their_addr.ss_family,get_in_addr(
(struct sockaddr *)&their_addr),s, sizeof s);
回报:
127.0.0.1
或:
[1][2][7][.][0][.][0][.][1]
,当我需要的东西,如:
[127][0][0][1]
我应该使用某种性格和数组操作使我的4元素byt数组?或者一个sockaddr有这种信息的方式,我可以把它留在这个十六进制格式并返回它?
这正是我一直在寻找。简洁而优秀。谢谢@Kludas – Ryanman