介绍
在阅读了罗培羽著作的Unity3D网络游戏实战一书后,博主综合自己的开发经验与考虑进行部分修改和调整,将通用的客户端网络模块和通用的服务端框架进行提取,形成专栏,介绍Socket网络编程,希望对其他人有所帮助。目录如下:
一、通用服务端框架
二、通用客户端网络模块
(四)、Close 关闭连接
本篇内容:
Close 关闭连接:
封装关闭连接的函数,首先进行状态的判断,如果socket为空或着没有连接,return;如果正在连接,return;判断如果还有数据正在发送,将isClosing标志位设为true,否则关闭socket,并发布消息:
/// <summary>
/// 关闭连接
/// </summary>
public static void Close()
{
//状态判断
if (socket == null || !socket.Connected) return;
if (isConnecting) return;
//还有数据在发送
if (writeQueue.Count > 0)
{
isClosing = true;
}
//没有数据在发送
else
{
socket.Close();
Messenger.Publish("关闭连接");
}
}
参考资料:《Unity3D网络游戏实战》(第2版)罗培羽 著