这是一个简单的Unity项目,实现最基本的聊天室群聊功能。登录聊天室后,用户可以输入信息进行发言,其他人可以收到消息。玩家还可以更改昵称。项目详细描述的前后端Socket通信,编码,解析二进制流的过程。
1.实现Unity的前后端通信进制
2.学习Protobuf的应用
a.网络通信NetClient.cs
采用c#的tcp通信方式。在初始化时,建立连接。然后在Unity的每帧函数Update()检测服务端有无数据过来。为了避免粘包等情况的发生,前后端的消息体都是这样结构的:消息体长度+消息体内容。在解析的过程中,先解析消息体长度,然后等待足够的二进制流,最后再利用Protobuf-net进行解码成实体对象。
发送消息的过程刚好相反。将实体对象序列化成二进制流,然后组装成消息体,发送到后端
b.UI设计
程序的UI采用NGUI来制作。界面布局比较简单。昵称框,消息列表,消息框。命名好,布局好,然后在程序中处理提交函数,将消息发送到后端。当后端消息推送过来是,显示在消息列表中。有一个没来得及完善的地方,是
目前还不支持中文,还没有及时弄好字体集。
服务端采用Netty网络框架,可以快速,高效地实现一个服务端。按照Netty的基本流程,我们可以快速搭建好一个服务器。主要的任务是编码和解码的过程。按照上述的消息体结构,我们同样是先解析长度,再读取内存,最后用Protobuf解码。服务器的业务逻辑很简单,就是广播所以的聊天信息。当客户端连接时,将连接保存起来,方便后面进行所有连接的广播。
该项目的源码已经放在GitHub
下载地址,欢迎大家查阅,提意见。
有任何问题欢迎一起探讨ken@iamcoding.com
分享到:
相关推荐
[手游] Unity3D《最后一战》全套完整源代码 + 资源
unity3D动作RPG手游完整源码.zip
1、Unity拼图游戏 图片互换: if (Vector2.Distance(btn_Rect.anchoredPosition,null_Img.anchoredPosition)==bg_Layout.cellSize.x+bg_Layout.spacing.x) { print("与空图片相近,点击图片的按钮的图片和空图片的...
AndroidJavaClass <=> 安卓Java类 AndroidJavaObject <=> 安卓Java对象 AndroidJavaProxy <=> 安卓Java代理 AndroidJNI <=> 安卓本地编程接口 AndroidJNIHelper <=> 安卓本地接口辅助类 Animation <=> 动画 ...
unity简易聊天室源码(客户端+服务器)。代码来自于其他地方,这里做了一下整理总结。亲测可用。
Unity游戏代码 ,Unity经典游戏源码 , Unity休闲游戏源码, Unity容易上手的游戏源码,Unity小游戏源码,Unity新手练习源码,Unity个人开发源码,Unity优秀项目,Unity商店优秀作品。 Unity精品农场经营游戏源码unity完整...
Unity游戏源码,仿开心消消乐精品源码,鲜汁Match 3完整项目+编辑器,精品三消游戏 Unity精品小游戏源码 , Unity完整项目源码 是Unitypackage包 , 新建空项目直接导入到项目里面就可以运行了,无需其他操作,适合二次...
unity合金弹头手游源码unity合金弹头手游源码unity合金弹头手游源码unity合金弹头手游源码
unity武侠角色扮演游戏源码unity武侠角色扮演游戏源码unity武侠角色扮演游戏源码unity武侠角色扮演游戏源码unity武侠角色扮演游戏源码unity武侠角色扮演游戏源码unity武侠角色扮演游戏源码unity武侠角色扮演游戏源码...
基于C#+Unity的太空大战游戏源码+sln解决方案(毕设项目).zip基于C#+Unity的太空大战游戏源码+sln解决方案(毕设项目).zip基于C#+Unity的太空大战游戏源码+sln解决方案(毕设项目).zip基于C#+Unity的太空大战游戏源码+...
微软Unity容器资料(Microsoft.Practices.Unity),里面包含了源代码(来自CodePlex)。还有微软的Unity实现的讲义和一本有关于Unity使用参考的PDF书。这里面不是dll是源代码,需要的同学可以下载一下,vs2015亲测能...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目...基于Layabox+Unity制作的模型展示场景源码(鼠标、手指操控).zip
unity多人RPG游戏源码uMMORPG 2D 1.3,Unity精品游戏源码,UnityRPG游戏源码unity多人RPG游戏源码uMMORPG 2D 1.3,Unity精品游戏源码,UnityRPG游戏源码unity多人RPG游戏源码uMMORPG 2D 1.3,Unity精品游
unity水果连连看手游完整源码.zip
摘要:随着国内游戏开发技术的不断进步和游戏引擎的不断更新,基于传统技术和引擎制作的单机游戏...最后针对游戏制作时会出现的种种问题,给出了相应的解决方案,并利用C#开发了一款基于Unity3D的第一人称射击游戏。
基于Unity+c#的模拟经营类植树造林游戏源码-课程期末作业.zip基于Unity+c#的模拟经营类植树造林游戏源码-课程期末作业.zip基于Unity+c#的模拟经营类植树造林游戏源码-课程期末作业.zip基于Unity+c#的模拟经营类植树...
Unity精品小游戏源码 , Unity完整项目源码 是Unitypackage包 , 新建空项目直接导入到项目里面就可以运行了,无需其他操作,适合二次开发和学习使用,都是经典游戏,需要其他游戏源码包可以看我主页 直接可以运行 , 如果...
C#开发基于Unity的角色扮演类音乐游戏源码.zipC#开发基于Unity的角色扮演类音乐游戏源码.zipC#开发基于Unity的角色扮演类音乐游戏源码.zipC#开发基于Unity的角色扮演类音乐游戏源码.zipC#开发基于Unity的角色扮演类...
Unity跑酷游戏源码,Utimate 3.0 unity3d精品资源 Infinite Runner UtimateUnity精品小游戏源码 , Unity完整项目源码 是Unitypackage包 , 新建空项目直接导入到项目里面就可以运行了,无需其他操作,适合二次开发和学习...