C#实现C-C通信的问题
彩笔程序猿 2014-04-11 04:36:10 以下代码是我在Client端用于接受服务器信息的方法,我的想法是客户端登录成功后就启动一个线程执行以下方法,执行完成后就执行datalist.Add(data)这句代码,我是用一个泛型(类型是Data类)来接受信息的,但是很奇怪的是每次收到的都只能是最新登录的Client端的信息。求大神指导!!
private void ReceiveTCPData()
{
//Data data = (Data)obj;
string str = null;
while (isExit == false)
{
try
{
str = br.ReadString();
addmessage(str);
}
catch (Exception e)
{
if (isExit == false)
MessageBox.Show("与服务器失去连接" + e.Message);
break;
}
string[] split = str.Split(',');
string command = split[0].ToLower();
switch (command)
{
case "login":
addOnline(split[1]);
data.username = split[1];
data.userport = Convert.ToInt32(split[2]);
for (int i = 0; i < datalist.Count; i++)
addmessage(string.Format("服务器:{0}:{1}", datalist[i].username, datalist[i].userport));
break;
case "logout":
break;
}
}
}