SerializeOnlineList(),序列化在线列表,向客户端返回序列化后的字节数组。代码如下所示:
private byte[] SerializeOnlineList()
{
StringCollection onlineList = new StringCollection();
foreach (object o in _transmit_tb.Keys)
{
onlineList.Add(o as string);
}
IFormatter format = new BinaryFormatter();
MemoryStream stream = new MemoryStream();
format.Serialize(stream, onlineList);
byte[] ret = stream.ToArray();
stream.Close();
return ret;
}
3.1.2 服务器的启动和关闭
(1) 启动服务器的监听功能
启动前服务器先选择一个端口号,并获得服务器的IP地址,获取IP地址的代码如下:
IPAddress _ip = Dns.GetHostAddresses(Dns.GetHostName())[2];
_tcpl = new TcpListener(_ip, _port);
_tcpl.Start();
若IP地址,端口号获取成功,启动服务器的监听功能。
配置监听的端口号代码如下:
public void GetConfig()
{
string portParam;
Console.Write("请输入监听端口,直接回车则接受默认端口8888: ");
portParam = Console.ReadLine();
if (portParam != string.Empty)
{
if (!int.TryParse(portParam, out _port) || _port < 1023 || _port > 65535)
{
_port = 8888;
Console.WriteLine("端口号不合法,默认端口号被接受!");
}
}
}
服务器启动监听后,要监听的内容有:
验证用户的唯一性;
将新连接转入转发表并创建线程为其服务;
向所有客户端发送系统消息;
其代码如下所示
public void StartUp()
{
IPAddress _ip = Dns.GetHostAddresses(Dns.GetHostName())[2];
_tcpl = new TcpListener(_ip, _port);
- 上一篇:php+mysql校园论坛的设计与开发
- 下一篇:php增值业务运营系统中业务流量分析的研究与开发
-
-
-
-
-
-
-
河岸冲刷和泥沙淤积的监测国内外研究现状
杂拟谷盗体内共生菌沃尔...
大众媒体对公共政策制定的影响
乳业同业并购式全产业链...
中考体育项目与体育教学合理结合的研究
酸性水汽提装置总汽提塔设计+CAD图纸
java+mysql车辆管理系统的设计+源代码
十二层带中心支撑钢结构...
当代大学生慈善意识研究+文献综述
电站锅炉暖风器设计任务书