独立游戏开发学习(六)-用户模块的登录与退出

写到现在终于开始真正的业务逻辑了=======
楼主也是学习的方式记录帖子,不一定都是对的。有什么明显的错误,可以希望大家指正。

1、工具选用

这里楼主用的是netassist下载地址,具体用什么工具都是可以的,只要能发送tcp就行,这里楼主也是临时百度下载的。


连接上我们本地主机就开始把。
这里用的JSON转换在线工具地址,当然也是临时百度,能用就行。

2、发送前的准备

根据types.js我们写入


转换成字符串
image
发送=>

3、登录

因为我们学习unity,所以我们注册和登录,为一体,只要登录成功了就返回一个client塞入clientList中,反之则结束socket。所以客户端连接成功后要立马发送登录来得到持续的tcp连接。
删除server中的下面这行


删除后===
image
添加addClientList方法
image

添加 User中的getToken、setToken方法

连接5秒后未执行登录则销毁该socket

根据typs.js创建登录的函数

client类中创建getServer和getUser函数
image

考虑到要返回对应的pack,调整一下ControllerManager.js中的代码
image
改为:
image

添加login中的逻辑

发送一下上述的JSON,发现报错:

排查一遍后发现,是this丢失的问题,我们调整一下代码


调整后:

在跑一下:
成功了


试试不传name

直接断开了。
再试试只连接不发送5秒后自动关闭了

好了 登录模块做好了

4、退出

添加退出的标识和方法

编写逻辑

调用成功,哦耶

对应的GitHub地址为:GitHub
该系列的其他篇幅:
独立游戏开发学习(一)
独立游戏开发学习(二)-Stable Diffusion的运用
独立游戏开发学习(三)-联机服务器的搭建tcp篇
独立游戏开发学习(四)-编写tcp交互中间层
独立游戏开发学习(五)-添加心跳处理失效的连接

太强了!过来支持!

1 个赞

虽然我看不懂 但是我觉得写的一定很牛逼 支持一下

1 个赞