【发布时间】:2013-09-24 19:33:47
【问题描述】:
我正在用 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' 变量返回零。我需要这里连接的客户端总数。
【问题讨论】:
-
您必须发布代码让我们弄清楚。你会返回列表吗?
-
请发布代码,因为没有它我们无法回答您的问题。
-
“connect_to_server”按钮是“btnAnotherButton”吗? 'count' 变量什么时候返回 0,在同一个方法中,还是在另一个方法中?
-
它们是两个不同的点击事件(两个不同的按钮)。已连接的客户端在 btnStartClient_Click 事件中添加到列表中,但在第二次单击事件中,列表似乎为空。
-
您确定正在调用 btnStartClient_Click() 吗?假设在 AnotherButton 之前单击 Start 并且正确绑定了通风口,那么我看不出为什么 count 会是 0。
标签: c# client-server tcpclient