DOBON.NETプログラミング掲示板過去ログ
AcceptTcpClientについて
題名: AcceptTcpClientについて
著者: 蒼月
日時: 2007/08/09 21:25:05
ID: 20250
この記事の返信元:
(なし)
この記事への返信:
[20251]
Re[1]: AcceptTcpClientについて
Hongliang
2007/08/09 22:15:08
ツリーを表示
環境/言語:[WindowsXP/VB.NET/.NET Framework1.1]
分類:[.NET]
いつも参考にさせて頂いています。
プログラム暦半年程度の蒼月と言います。
今回、TCPを使ったプログラムを作成することになりまして、こちらの「TCPクライアント・サーバープログラムを作成する」を参考に、TCPサーバーの作成を行いました。
しかし、サンプルプログラムの
Dim tcp As System.Net.Sockets.TcpClient = _
listener.AcceptTcpClient()
の部分で、画面が著しく重くなり、フォームは「応答無し」の状態となってしまいます。
クライアントからの接続を待ちつつ、他の処理は続行させるための良い方法はありませんでしょうか?
以下の2つの方法を試してみたのですが、うまく動作しませんでした。
1.if文の条件にTcpListener メンバ のPending を使い、Trueであれば上記の処理を行うようにした。
2.「1.」のコードをループするようにし、PendingがTrueであれば、上記の処理を、Falseであれば、DoEventsで他の処理を続行するようにした。
題名: Re[1]: AcceptTcpClientについて
著者: Hongliang
URL:
http://hongliang.seesaa.net/
日時: 2007/08/09 22:15:08
ID: 20251
この記事の返信元:
[20250]
AcceptTcpClientについて
蒼月
2007/08/09 21:25:05
この記事への返信:
[20255]
Re[2]: AcceptTcpClientについて
蒼月
2007/08/10 23:27:26
[解決]
ツリーを表示
接続を保ちつつって言っても、Accept してる間は接続待ちなわけで、それ以前の問題ですが。
.NET 1.1 だと Begin 系はないですから、接続待機(Accept 呼び出し)用のスレッドを作る方向でしょうか。
TcpListener の代わりに Socket で BeginAccept って手もありますが。
題名: Re[2]: AcceptTcpClientについて
著者: 蒼月
日時: 2007/08/10 23:27:26
ID: 20255
この記事の返信元:
[20251]
Re[1]: AcceptTcpClientについて
Hongliang
2007/08/09 22:15:08
この記事への返信:
(なし)
ツリーを表示
>Hongliangさん
ご回答ありがとうございます。
結局、最初に書いた、「1.」のif文の処理を、Timerコントロールを使用して何度も呼び出す方法で解決しました。
教えて頂いた、 Socketやマルチスレッドに関しても少し勉強してみようと思います。
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
いつも参考にさせて頂いています。
プログラム暦半年程度の蒼月と言います。
今回、TCPを使ったプログラムを作成することになりまして、こちらの「TCPクライアント・サーバープログラムを作成する」を参考に、TCPサーバーの作成を行いました。
しかし、サンプルプログラムの
Dim tcp As System.Net.Sockets.TcpClient = _
listener.AcceptTcpClient()
の部分で、画面が著しく重くなり、フォームは「応答無し」の状態となってしまいます。
クライアントからの接続を待ちつつ、他の処理は続行させるための良い方法はありませんでしょうか?
以下の2つの方法を試してみたのですが、うまく動作しませんでした。
1.if文の条件にTcpListener メンバ のPending を使い、Trueであれば上記の処理を行うようにした。
2.「1.」のコードをループするようにし、PendingがTrueであれば、上記の処理を、Falseであれば、DoEventsで他の処理を続行するようにした。