我目前正在從一個客戶端接收請求的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