特定のポートでwinsockをリッスンさせる方法は?
質問
これは本当に明白なはずですが、winsockに特定のポートをリッスンさせる(データを受信する)方法はありますか?
これはおそらく非常に明白です。
チャットアプリケーションを作成しようとしています。これは明らかにサーバー/クライアントのセットアップで実行されています。
解決
ソケットをバインドし、次に、試聴および承認接続。詳細については、 WinSockの使用開始。 BSDソケットの優れたガイドもあります。これも読んでください。
.NETの場合、おそらくシステムが必要です。ネイティブWinSockの代わりにNet.Sockets.Socket (およびBind / Listen / Accept / Send / Receiveメソッド)が、概念は同じであるため、すべてのリンクを残します。
他のヒント
TCPソケットを使用する場合、バインドし、リッスンして受け入れ、最終的に受信します。 こちらでチュートリアルを見つけるか、公式のMSDNドキュメントをご覧ください。
winsock APIは、UNIXのBSDソケットに基づいています。とても似ています。あなたはそれを調べたいかもしれません。私が最近読んだ本は、Richard Stevensと彼による UNIXネットワークプログラミングです。ソケットについて知っておくべきほとんどすべてを説明しています。
また、読みやすさとパフォーマンスを向上させるために、ソケットを別のスレッドで実行することも検討してください。
編集:特定のポートでリッスンする場合。これはSOCKADDR_IN構造体のsin.portパラメーターです。
所属していません StackOverflow