私は、32 ビットの符号なし整数 (つまり: uint32_t
) を 4 つの 8 ビット フィールドのセットに変換し、それを IP アドレスのように扱い、それが所定の範囲内にある場合にクライアントに報告する小さなコードを持っています。 IP アドレス。
クライアントのIPアドレスを含むからクライアントのIPアドレスを取得する方法を示すCのコードのいくつかの異なる例と、C#の回答をすでに見つけました。ただし、アドレスをもう少し分解して、純粋な C のままにし、いくつかの簡単なことを知りたいと思います。struct sockaddr_in
- 内部表現はシステム間で一貫していますか? または、
s_addr
フィールドでエンディアンネスのチェック/修正を行う必要がありますか? CLASS_C_NETMASK
、などの行に沿って、CLASS_B_NETMASK
手動で生成されたマスク ( 、 など) を使用するよりも適切な0xFF000000
標準0x00FF0000
マクロはありますか?- IPアドレスがIPアドレスの範囲内にあるかどうか、またはサブネットマスクと一致するかどうかをチェックするソケットライブラリに既存の関数はありますか?
ありがとう。