Unity+nodejs简单实现webscoket聊天室

一、前言

在这个互联网时代,几乎每个人都有微信或QQ这类实时通讯工具,现在很多网络游戏也带有实时聊天功能,那这样一个很常见的功能需要怎么实现呢?接下来我们就通过Unity+Nodejs来实现一个简单的聊天室吧!

二、首先我们用unity搭建一个简单聊天室的页面:

将左右两边的消息对象做成预制体方便后面创建;

接着我们来实现C#代码:

基础变量信息定义:

接收消息方法定义,nodejs会转发json字符串到客户端,客户端再对消息进行解析处理

接着,我们就可以开始编写连接websocket的代码,要记得和nodejs定义和通讯地址和端口,否则会连接不上哦!

写好连接代码和接收消息的方法,我们还缺少一个发送消息的方法:

将发送消息方法和发送按钮绑定

这样,客户端的代码我们就写好了,只需要将脚本挂载到场景上了

三、实现node代码

nodejs代码的实现也不复杂,nodejs引入ws,就可以实现webscoket连接了,代码实现如下:

接着就打开我们的cmd窗口,运行我们的nodejs脚本

如果你没有安装ws模块,就会遇到下面这个报错

我们需要用npm安装下ws模块

安装成功后就可以再次执行node server.js命令了

四、聊天室启动

将应用打包后,我们打开两个窗口,一个为昵称A同学,一个昵称为B同学,他们两个就可以进行对话了

在运行nodejs的cmd窗口我们也打印了客户端传过来的消息

一个unity+nodejs的聊天室就这么搞定了,除了可以通过webscoket实现聊天室实时通讯以外,我们也可以实现游戏的多人实时联机,但这比聊天室复杂多了,因为要考虑到游戏的环境信息同步,玩家操作同步,这就留着下次有机会再讲吧!

感谢观看~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值