1

これは本当に明白なはずですが、winsockに特定のポートをリッスンさせる(データを受信する)にはどうすればよいですか?そうする方法が見つかりません!

申し訳ありませんが、これはおそらく非常に明白です。

明らかにサーバー/クライアントセットアップで実行されているチャットアプリケーションを作成しようとしています。

4

2 に答える 2

1

ソケットをバインドしてから、接続リッスンして受け入れます。WinSock入門でより詳細に説明されています。BSDソケットの優れたガイドもあります。これも読む必要があります。

.NETの場合、ネイティブWinSockではなくSystem.Net.Sockets.Socket (およびBind / Listen / Accept / Send / Receiveメソッド)が必要になる可能性がありますが、概念は同じであるため、すべてのリンクを残します。

于 2009-09-12T20:18:18.977 に答える
1

TCPソケットを使用する場合は、バインド、リッスン、受け入れ、そして最終的には受信します。ここでいくつかのチュートリアルを見つけるか、公式のMSDNドキュメントをチェックしてください。

winsock APIは、UNIXのBSDソケットに基づいています。非常によく似ています。あなたはそれを調べたいと思うかもしれません。私が最近読んだ本は、Richard StevensによるUNIXネットワークプログラミングであり、彼はソケットについて知っておくべきことのほとんどすべてを説明しています。

読みやすさとパフォーマンスを向上させるために、別のスレッドでソケットを実行することを検討することもできます。

編集:特定のポートでリッスンする場合。これは、SOCKADDR_IN構造体のsin.portパラメーターです。

于 2009-09-12T20:22:08.043 に答える