代码之家  ›  专栏  ›  技术社区  ›  stefan

创建tcp/ip服务器-聊天应用的窗口服务

  •  -1
  • stefan  · 技术社区  · 6 年前

    我有一个客户机和一个服务器,使用TCP/IP协议在网络中进行通信。每当我在visual studio中启动应用程序时。我有一个按钮 惊人的 启动服务器并监听客户端请求。

    现在我正努力创造 StartListening 按钮进入窗口服务,不需要点击按钮收听。

    以下是服务器代码:

    protected override void OnStart(string[] args)
    {
        Thread thread = new Thread(StartListening);
    }
    
    public void StartListening()
    {
        IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
        int nPort = 8001;
        TcpListener tcpListener = new TcpListener(ipAddress,nPort);
        tcpListener.Start();
    
        byte[] bytes = new byte[256];
    
        while (true)
        {
            Socket socket = tcpListener.AcceptSocket();
    
            int res = socket.Receive(bytes);
            ASCIIEncoding asen = new ASCIIEncoding();
            string str = asen.GetString(bytes);
            //logic
    
            socket.Close();
        }
    }
    

    注: //logic 在上面的代码中,我应该放置什么东西来与客户机通信服务器?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Deleted    6 年前

    我认为两个线程不工作,因为虽然true是线程,但实际上两个线程不同时工作,这里的代码可能会解决您的问题

    Thread thread = new Thread(new ThreadStart(//Your method name here));
    thread.start();
    
        2
  •  1
  •   rayh    6 年前

    回复客户: socket.Send(asen.GetBytes("reply"));