客户端需要做的:
1、连接服务器,连接socket,发送心跳
2、编码数据包,发送消息给服务器
3、接收处理服务器返回的消息
4、提供手动断联socket方法,在需要的地方调用
5、socket非手动断联,重新请求连接
服务端需要做的:
1、用户心跳的维持和刷新
2、用户的调用
3、数据包的拆解和分发等
新建socket管理类BLSocketManager
.h文件
.m文件
大概说一下流程
KGSocket 就是前两篇写的那个通信库,就不多说了
服务端
ChatSession继承了KGSocket的KGNetSession<T> 用于会话管理的
ChatServe继承了KGSocket的KGSocketServe<T,R>创建服务器,处理任务 还有业务逻辑调用
ChatDatasPack 主要用于分辨消息是哪个客户端发定义的数据类
流程
ChatServeStartCreate()创建了服务器 每连进来一个客户端就会增加一个ChatSession会话管理,ChatSession 会话收到客户端发过来的指令 会添加到ChatServe的DataPackQue 任务队列进行排序处理 返回给客户端消息
客户端
GameRoot 处理业务逻辑 连接/发送消息给服务器 UI管理都在这 =。=示例凑合写懒得区分了
ChatNetSession继承了KGSocket的KGNetSession<T> 用于会话管理的ImageExtension扩展工具类 就图片与Byte之前的互相转换用的
流程
GameRoot.StartCreate()连接服务器 InItClickEvent() UI的按钮事件绑定都在这里了 登录会发送指令过去服务器,在ProcessNetData()这里进行处理在服务器接收到的消息 调用业务逻辑,
工程地址 https://github.com/LKaiGuo/KGNetSocket 喜欢给个星星啊啊啊啊啊啊
u3d萌新QQ群844087555 欢迎进来灌水=。=
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)