有多少客户端可以连接到此服务器

本文关键字:服务器 连接 多少 客户端 | 更新日期: 2023-09-27 18:19:03

有多少客户端可以连接到这个服务器?

private void btnserverconect_Click(object sender, EventArgs e)
{
    Form1_Load(sender, e);
}
private void Form1_Load(object sender, EventArgs e)
{
    try {
        server =
            new Socket(AddressFamily.InterNetwork, SocketType.Stream,
                   ProtocolType.Tcp);
        //IPAddress local = IPAddress.Parse("127.0.0.1");
        EndPoint destination = new IPEndPoint(IPAddress.Any, 8000);
        server.Bind(destination);
        server.Listen(5);
        Thread wait = new Thread(wa);
        wait.Start();
    }
    catch(Exception) {
        MessageBox.Show("connection error !");
    }
}
void wa()
{
    label1.Text = "please wait...";
    server = server.Accept();
    label1.Text = "connect";
    while (true) {
        try {
            byte[]by = new byte[100];
            int n = server.Receive(by);
            lstserver.Items.Add("client :" +
                        Encoding.ASCII.GetString(by, 0, n));
        }
        catch(Exception) {
        }
    }
}

有多少客户端可以连接到此服务器

看起来Accept()只会被调用一次。

行后:

server = server.Accept();
侦听套接字不再被引用,因为server变量现在指向与已连接的(一个)客户端通信的套接字。你也可以忽略来自该客户端的断开连接消息(当Socket.Receive()返回0时)。

p。你试图更新我猜是一个列表框(lstserver)从另一个线程比GUI线程,可能会导致一个异常被默默地忽略,而不是更新列表框。