2012-03-29 51 views
3

Iam beginner to windowsサービスは、クライアントとサーバーの間でファイルを転送するコンソールアプリケーションを持っています。今私は複数のクライアントを聴くために私のサーバーアプリケーションをWindowsサービスに変えたいと思います。コンソールアプリケーションコードをonstart()の中に置きました。 Windowsサービスを展開した後、動作しないか、リッスンしません。任意のIQの...Windowsサービスでtcplistenerを設定する方法C#

+0

を実行していることはありませんか? – ABH

答えて

6

Hereは、WindowsサービスのTCPリスナーに関する完全な記事です。それはかなり古いですが、それが役立つかもしれません。

+0

こんにちはhamad、素晴らしいリンクありがとう...私は一緒に行く... –

+0

こんにちは、あなたは歓迎です:) – ABH

0

他に、このサーバのオープンスレッドを使用すると、サービスが実行されている同じマシンからのサービスにtelnetで接続できるサービス

protected override void OnStart(string[] args) 
    { 
     TcpServer server=new TcpServer(); 
     server.Start(); 
    } 

class TcpServer 
{ 
    // clase prar crear un listener 
    private TcpListener server; 

    private bool isRunning; 
    private int port = 13000; 
    public void Start() 
    { 
     // client found. 
     // create a thread to handle communication 
     Thread tServer = new Thread(new ParameterizedThreadStart(StartThread)); 
     tServer.Start(); 
    } 

    public void StartThread(object o) 
    { 
     //iniciar configuraciones 
     Configuracion.init(); 
     // crear un nuevo servidor 
     server = new TcpListener(IPAddress.Any, port); 
     //inicializar el servidor 
     server.Start(); 
     //variable para indicar queesta corriendo el server 
     isRunning = true; 
     LoopClients();//thread 
    }} 
public void LoopClients() 
    { 
     while (isRunning) 
     { 
      // wait for client connection 
      TcpClient newClient = server.AcceptTcpClient(); 

      // client found. 
      // create a thread to handle communication 
      Thread t = new Thread(new ParameterizedThreadStart(HandleClient)); 
      t.Start(newClient); 

     } 
    } 
関連する問題