現在、クライアントからのリクエストを受信する UDP サーバーで作業しています。私が受け取ったデータグラムは、5 要素の長さのバイト (char) 配列で、最後の 2 つの要素はポート番号です。
最終的に、このサーバーは独自のデータグラムで 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 要素のバイト配列を作成するために、ある種の文字および配列操作を使用する必要がありますか? または、sockaddr は、この情報をこの 16 進形式のままにして返すことができる方法で持っていますか?