socket select、poll
- 題名: socket select、poll
- 著者: nagasaka
- 日時: 2004/11/22 16:44:26
- ID: 7588
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: socket select、poll
- 著者: nagasaka
- 日時: 2004/11/25 10:37:27
- ID: 7643
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: socket select、poll
- 著者: nagasaka
- 日時: 2004/11/25 10:38:34
- ID: 7644
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
初心者のnagasakaといいます。VB2002 でウィンドアプリを作っています。
クライアントサーバーのチャットプログラムのようなものを作っています。サーバー側のブロックをしたくないのですが、非同期は難しそうで他の方法を教えてもらいました。
accept する前に、接続要求を関知する関数があるというので、試していますが、うまくいきません。
poll を使っていますが、最初だけ関知して、2回目以降、関知してくれません。
poll 後に、handler というソケットを作っているからだと思いますが、使い方が間違っているかと思います。C では、select を使う例を見せてもらいました。
他に、TCPLISTENER に、pending という関数も同じことなのでしょうか。参考にできるものをご存じでしたら、ご紹介ください。
-------------------------
aSocket.Bind(aIPEndpoint)
aSocket.Listen(1)
If aSocket.Poll(2000, SelectMode.SelectRead) Then
Debug.WriteLine("This Socket is writable.")
Dim handler As Socket = aSocket.Accept()
handler.Receive(bytes, 0, handler.Available, SocketFlags.None)
Debug.WriteLine("***********recieve***********")
End If