[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
| |
Socketサーバの複数ポート機動
1
:
いつき
:2010/07/26(月) 21:23:52
いつも見させていただいています。
socketサーバを複数のポートで起動できるサンプルを探しています。
非同期サーバのクラスを作成し、インスタンス化し、ポートを順次割り当て
起動をしてみましたが、応答動作がまちまちで十分な効果を得ることができませんでした。
通常はどのような方法で、サーバを複数起動させるのでしょうか。
サンプル・方法があれば、ご指導願います。
2
:
igoten
:2010/07/26(月) 21:44:56
複数のサーバーを起動することは極めて稀です。
通常は私が書いたサンプルのようにサーバーは一つで、
複数のクライアントが接続要求をしてくる方式になります。
サーバーは接続要求が来たクラインンと毎に、別々の接続を
確立して通信をします。
ただし複数のサーバーを起動できないわけではありません、その必要が
無いだけで、私が書いたサンプルのPortをサンプルでは1001となっていますが、
このプログラムを複数起動してPortを1002や1003にすれば良いだけで
あると思いますが。
>>
http://www.geocities.jp/hatanero/socket2.html
3
:
いつき
:2010/07/27(火) 07:16:22
ありがとうございます。いろいろな用途で使えるよう、考えていました。
サンプルを単に複数ポートでの起動を考えれば、下記の様でいいですか?
今開発環境が無いのでテストできませんが、根本的な間違いがあるようにも
思えますが、よろしくお願いします。
できれば、配列等で任意の数のポートを起動できればと思います。
よろしくお願いします。
TcpListener Listener1 = null;
TcpListener Listener2 = null;
Thread threadServer1 = null;
Thread threadServer2 = null;
private bool ServerStart()
{
//TcpListenerを使用してサーバーの接続の確立
try
{
//ログの書き込み
WriteLog("サーバを開始しました。");
//スレッドの作成と開始
threadServer1 = new Thread(new ThreadStart(ServerListen));
threadServer1.Start();
threadServer2 = new Thread(new ThreadStart(ServerListen));
threadServer2.Start();
return (true);
}
省略
private void ServerListen()
{
//TcpListenerを作成
Listener1 = new TcpListener(IPAddress.Any, 10000);
Listener1.Start();
Listener2 = new TcpListener(IPAddress.Any, 11000);
Listener2.Start();
// クライアントの接続を受けるための永久ループ
try
{
省略
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板