一、前言
在这个互联网时代,几乎每个人都有微信或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实现聊天室实时通讯以外,我们也可以实现游戏的多人实时联机,但这比聊天室复杂多了,因为要考虑到游戏的环境信息同步,玩家操作同步,这就留着下次有机会再讲吧!
fpga锁相板卡定制开发解决方案
一、 核心概念:什么是FPGA锁相板卡? 锁相技术(Lock-in Amplification)的核心是从强噪 […]
Keras深度学习:从“Hello World”到“我模型跑起来了!”的奇幻(秃头)之旅
朋友们,听说你想玩深度学习?不想从底层CUDA开始撸矩阵乘法,也不想被PyTorch的动态图绕晕?恭喜你,Ke […]
用 PyTorch 实现一个简单的神经网络:从数据到预测
PyTorch 是目前最流行的深度学习框架之一,以其灵活性和易用性受到开发者的喜爱。本文将带你从零开始,用 P […]
脉冲控制程序开发
一、脉冲控制程序的典型应用场景 应用类型 控制对象 脉冲作用 步进电机控制 电机转动/定位 每个脉冲对应一个步 […]
电机控制MATLAB仿真软件开发
一、 核心仿真模块构建 1. 电机本体建模 matlab % PMSM dq轴数学模型示例 (状态空 […]
使用Vue和Web Worker实现TCP消息监听并实时更新图表
在现代Web应用中,实时数据可视化是一个常见的需求。本文将介绍如何在Vue应用中结合Web Worker来监听 […]
仪器设备远端控制系统开发
核心实现色谱设备云端协同操控与数据全生命周期管理。系统采用分层架构设计:
机械臂路线规划系统开发
项目介绍: 该项目主要通过机械臂末端搭载双目相机扫描环境,实时构建障碍物点云地图通过红外结构光扫描面部生成密集 […]
无线路由器上位机开发
项目介绍 为满足智能工厂中对生产数据实时远程监测的需求,由你创为客户开发了一套无线路由器上位机软件。该项目采用 […]
血液检测管理系统软件定制开发
项目介绍 该项目是为 某医院开发的血液检测管理系统:以样本唯一码为线索,贯通接收、分拣、前处理、上机、审核、报 […]
分析仪控制采集分析软件开发
项目介绍 该项目是跨厂商、跨接口的通用仪器控制与数据平台,集连接管理、实时/触发/定时/条件采集、元数据绑定、 […]
开源鸿蒙适配器KHP-系列硬件设备产测功能开发
案例背景 开源鸿蒙适配器KHP-系列的硬件设备的产测功能开发。实现了KHP-IC500设备在出厂前测试硬件功能 […]
联系电话:
电子邮箱:unczzb@unicrom.cn
深圳研发中心(总部): 深圳市龙华区港深国际中心十楼E区
太原研发中心: 山西省太原市万迎泽西大街120号时代天峰1918室
上海办事处: 上海市浦东新区牡丹路60号,东辰大厦7楼702室
扫一扫,关注由你创科技