我正在用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'变量返回零。我需要在这里连接多个客户端。
答案 0 :(得分:0)
以下行声明 local 变量count
:
int count = m_connectedIpAddresses.Count;
即使您有一个具有相同名称的“全局”变量。尝试将其更改为:
count = m_connectedIpAddresses.Count;
这将设置类变量count
的值。请注意,如果变量是在另一个类中声明的,那么您必须参考那个变量。
答案 1 :(得分: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;
}