最近在做一个winform中socket的服务器与客户端的通信,我做的这个模块即是服务器又是客户端:
1、先开始把他作为服务器由客户端给他发送一个IP和端口,然后在这个时候需要把IP和端口存到配置文件中,我的代码如下:
string ip = XmlHelper.GetNodeValue(root, "IP"); //IP
string port = XmlHelper.GetNodeValue(root, "Port");//端口
//因为可有有多个客户端,所以有多个IP,端口,我开始是把他们以键值对的形式放在字典里面的,现在要把他们存到配置文件中,如果有多个只存储最后一次收到的IP,端口就好
if (!dic.ContainsKey(ip))
{
dic.Add(ip, port);
}
else
{
if (!dic.ContainsValue(port))
{
dic[ip] = port;
}
}
2.存好以后,我作为客户端的时候,就给这个IP和端口发信息:
//这是我从字典里那出来的写法,现在是要改为从配置文件里面拿出来
foreach (string ip in PanTianDanJiServer.dic.Keys)
{
tcpClient.Connect(IPAddress.Parse(ip), int.Parse(PanTianDanJiServer.dic[ip]));
//如果集合里面为空
if (PanTianDanJiServer.dic.Count < 1)
{
return;
}
}
请高手帮我解答,因为之前从没接触过xml的增删改查,希望能附上代码,急用,万分感谢.....;..
1、先开始把他作为服务器由客户端给他发送一个IP和端口,然后在这个时候需要把IP和端口存到配置文件中,我的代码如下:
string ip = XmlHelper.GetNodeValue(root, "IP"); //IP
string port = XmlHelper.GetNodeValue(root, "Port");//端口
//因为可有有多个客户端,所以有多个IP,端口,我开始是把他们以键值对的形式放在字典里面的,现在要把他们存到配置文件中,如果有多个只存储最后一次收到的IP,端口就好
if (!dic.ContainsKey(ip))
{
dic.Add(ip, port);
}
else
{
if (!dic.ContainsValue(port))
{
dic[ip] = port;
}
}
2.存好以后,我作为客户端的时候,就给这个IP和端口发信息:
//这是我从字典里那出来的写法,现在是要改为从配置文件里面拿出来
foreach (string ip in PanTianDanJiServer.dic.Keys)
{
tcpClient.Connect(IPAddress.Parse(ip), int.Parse(PanTianDanJiServer.dic[ip]));
//如果集合里面为空
if (PanTianDanJiServer.dic.Count < 1)
{
return;
}
}
请高手帮我解答,因为之前从没接触过xml的增删改查,希望能附上代码,急用,万分感谢.....;..
解决方案 »
- 向『zgke』问个问题,关于 C# 让程序只保证一个进程
- 有个问题,关于窗体之间的………………………………
- wpf TempLateBinding得问题
- WCF makecert 生成证书问题
- serialport类的问题(延迟问题)
- 身份证验证码问题
- C# winform 如何远程调用web服务器上的access数据库?
- dataSet里的记录变化如何反映到sql数据库中?在线等!
- 能否举例详细说明下@@IDENTITY 的用法???
- 关于datediff的一条sql语句,在线等待,给分
- 怎么使用radio来控制text显示隐藏
- c# winform 防止多重启动,在同一路径下不能多重启动,在不同路径下可以重复启动
http://dotnet.aspx.cc/article/7b4c7a42-4cdf-40d1-b293-e86da109a34c/read.aspx