赞 | 60 |
VIP | 90 |
好人卡 | 4 |
积分 | 76 |
经验 | 13776 |
最后登录 | 2024-6-8 |
在线时间 | 2566 小时 |
Lv4.逐梦者
- 梦石
- 2
- 星屑
- 5550
- 在线时间
- 2566 小时
- 注册时间
- 2012-2-9
- 帖子
- 990
|
6楼
发表于 2016-5-19 22:46:03
手机端发表。
|
只看该作者
本帖最后由 garfeng 于 2016-5-19 22:48 编辑
因为找不到让游戏在终端打印出debug消息的方法,
nodejs的console.log()无效。
mv就是node-webkit
在游戏安装目录里有两个名为nwjs-xxx的文件夹,所以理当可以向node一样打印终端消息。
既然打印不出来,各种需要查看值的数据我就通过js发送到一个本地的server程序,由server打印出游戏传来的数据,并做保存。
这已经是web传输了哈。
php似乎(我并不确定最新的PHP是否支持),对websocket的支持并不好,它是脚本程序,一个脚本完了就是结束了,如果一个脚本为了保持长连接,一直在挂起,或者循环,我觉得有点危险。
各种临时数据,也许一个小时内还会用到的数据,在脚本结束时就消失了,要么你用一些很高大上的缓存模块,比memache,要么你用数据库存,或者你建立共享内存……总之是很烦(个人觉得)这些大量的,并不需要长期存储的,多个进程都可能要用到数据,在php里如何处理,我之前想过,最后实在是跪了,不得不放弃……
在网游里,这样的数据无疑是非常巨大的。你得想办法来解决它。
如楼上所说,推荐nodejs,既然你玩rm的插件脚本,那么你一定能玩nodejs,rm就是跑在chrome上的js,而nodejs则是跑在另一个解释器上的js。(有添加一些其他的东西,见楼上所说。)
这样,服务器和客户端,你用的是同一门语言。写起来会很顺手。
没有深究nodejs,它如何处理websocket并不知道……
但它高并发的设计简直就是前无古人。
它的io操作不阻塞后面的语句执行。 |
|