0

我正在用 C# 编写客户端-服务器应用程序,但我遇到了问题。我有相同形式的 start_server 和 connect_to_server 按钮。单击 connect_to_server 按钮时,我正在尝试将所有连接的客户端添加到列表中。客户端可以添加到 connect_to_server 按钮单击事件的列表中,但是当事件完成时,列表返回 null 或空。我能做些什么?是关于声明列表变量的问题吗?或者我应该实现一些不同的东西?有人可以帮助我吗?谢谢。

private void btnStartClient_Click(object sender, EventArgs e)
{
    try
    {
         richTextBox1.AppendText("Connected to server!" + "\n");
         m_connectedIpAddresses.Add(((IPEndPoint)sock.Client.LocalEndPoint).Address.ToString());
    }
    catch (Exception e1)
    {
            MessageBox.Show("Cannot connect to server");
    }
}

private void btnAnotherButton_Click(object sender, EventArgs e)
{
    int count = m_connectedIpAddresses.Count;
}

'count' 变量返回零。我需要这里连接的客户端总数。

4

2 回答 2

0

以下行声明了一个局部变量count

int count = m_connectedIpAddresses.Count;

即使您有一个同名的“全局”变量。尝试将其更改为:

count = m_connectedIpAddresses.Count;

这将设置变量的值count。请注意,如果变量在不同的类中声明,您当然必须引用该类。

于 2013-09-24T11:30:21.570 回答
0

您是否将计数分配为全局变量?

如果是,为什么在 btnAnotherButton_Click 中声明 count 为 int

尝试这个

int  count = 0;
private void btnStartClient_Click(object sender, EventArgs e)
{
    try
    {
         richTextBox1.AppendText("Connected to server!" + "\n");
         m_connectedIpAddresses.Add(((IPEndPoint)sock.Client.LocalEndPoint).Address.ToString());
    }
    catch (Exception e1)
    {
            MessageBox.Show("Cannot connect to server");
    }
}

private void btnAnotherButton_Click(object sender, EventArgs e)
{
    count = m_connectedIpAddresses.Count;
}
于 2013-09-24T11:33:47.170 回答