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;
}
}
}
...全文
43 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧