2012-03-29 31 views
3

Iam初學者到windows服務,我有一個控制檯應用程序來在客戶端和服務器之間傳輸文件。現在我想將我的服務器應用程序轉換爲用於監聽多個客戶端的Windows服務。我將我的控制檯應用程序代碼放入onstart()。部署Windows服務不工作或收聽後。任何智商...如何在windows服務c中設置tcplistener#

+0

你可以從那裏服務運行在同一臺機器telnet到服務? – ABH 2012-03-29 06:13:18

回答

6

Here是一個完整的文章在TCP監聽器在Windows服務。這雖然很古老,但可能會有所幫助。

+0

嗨哈馬德,謝謝你的精彩鏈接...我正在與... – 2012-03-29 06:30:12

+0

嗨,你好,歡迎:) – ABH 2012-03-29 06:32:48

0

這個服務器開放的其他線程運行永不服務

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); 

     } 
    } 
相關問題