質問: TCP・UDPの通信はソケットを使用しているんですよね。 つまり、'現在の'googleなどのウェブサーバーとクライアントの通信などもソケットを使用していると考えてよろしいのでしょうか?? TCP・UDPの通信にソケット以外の方法はあるのですか?? listen(socket, 5); この関数の第2パラメータの数字についてなのですが、 「最大何個のクライアントを接続要求で待たせることができるか(待ち行列の長さ)を指定している」と書いてあったのですが、よくわかりません。 つまり「クライアントからの同時接続可能な最大数」ということでしょうか?? ポート番号やIPアドレスはネットワークバイトオーダーとして、ビッグエンディアンで統一されていますが、 send()やrecv()などで送受信するデータ実体もネットワークバイトオーダー(ビッグエンディアン)で通信しているんですか?? データ自体は関係ないのですか? どなた教えてください。
回答: [最初の段落への回答です] TCP/IPやUDP/IPは、ネットワーク上のプロトコル(データを送受する手順、データの表現方法等に関する取り決め)です。TCP/IPは、RFC:793で仕様が定められています。 詳細は、RFC793の日本語訳(和訳)などで確認してください。 ソケット(Socket)は、TCP/IP等を使った通信プログラムを作る際に使われるライブラリで、Unix、Linux、Windows、Macintoshなど多くの環境で採用されています。ソケットのAPIはPOSIXで規定されています。 多くの通信プログラムはソケットを使っていますが、制約(高速化が必要、コードサイズに制限がある等)を満たすために独自開発したプログラムを使う場合があります。但し、外部からはTCP/IPプロトコルが使われている事が判るだけで、システムの内部でソケットを使っているかどうかは判りません。