0

ソケットを操作するにはサーバーが必要ですか?どちらのホストもサーバーでなくても、他のクライアントに直接パケットを送信して受信できますか?

4

3 に答える 3

0

2台のコンピューターが通信できますが、一方はサーバーで、もう一方はクライアントである必要があります。それらは役割を交換することができ、それぞれが他の反対になることができます。

于 2012-07-03T20:50:15.307 に答える
0

はい、できます。まったく同じコンピューターでも。それらが同じポートを使用していることと、クライアントが localhost に接続しようとしていることを確認してください。私は定期的にこの手法を使用して、ネットワーク アプリをテストしています。

于 2012-07-03T20:56:21.170 に答える
0

ソケット プログラミングにおけるクライアント/サーバーの区別は、思ったほど具体的ではありません。基本的には、2 台のマシンの接続方法に関係しています。

サーバーはbindlisten、およびを使用して、accept着信接続を常に待機します。クライアントはサーバーの IP アドレスを知っている必要があります。これが、サーバーの IP アドレスにマップされる覚えやすい名前を提供するために、URL と DNS が存在する理由です。

クライアントconnect()accept()サーバーによって処理された後、違いはほぼなくなります。クライアントとサーバーは、必要なときにいつでもバイトを実行できsend()recv()データに制限はありません。

どのコンピュータもサーバーになることができます。386 ラップトップをサーバーとして使用し、真新しいデュアル Xeon ラック マシンをクライアントとして使用できます。

于 2012-07-03T22:09:53.943 に答える