RT。
我2年前跟着别人的斗地主视频开始学的ccc,后来自己做别的类型的游戏了,服务端框架和通讯组件还是沿用了斗地主的socketIO。
现在准备把框架换成websocket,这7天时间都在学,但是不行以我自己的水平根本封装不了。
好不容易请别人把服务端写好了,现在我需要自己对客户端部分也进行一次封装。
但是不知道哪里弄错了,现在的问题是客户端能发消息,但是已经接收不到服务端发回来的消息了,
准确的说是onmessage的代码压根就没有运行。
被折磨的不要不要的啊。
所以才请教各位,为什么要放弃封装好的socketIO,而要换成websocket啊,我也没看出来他有什么好的。
按道理ws有的优点socketIO都有,如果要换,那就只能是socketIO有什么致命的缺点。
但是我问了几个大佬,要么是含糊其辞,要么不说。我就奇怪了,是不是压根就不是什么缺点的问题,仅仅只是因为ccc想换而已啊??
麻烦知道的朋友指点一下。
标准的websocket还是挺好用的,就是接收服务器bytes的数据时有个小坑,随便写一个小函数就封装好了。
因为需要支持web
我看别人说的socketio不能支持原生开发,才换的,但是我没有接触过原生,不明白为什么。web应该都是可以的吧,我看好多人写的H5聊天室。
我自己找了好多别人封装过的ws,好多出错,好不容易请到别人帮忙两次封装好了ws,发红包感谢。
现在我自己封装客户端部分,之前的想法是也想把ws接口暴露出来,然后就一直搞不定,各种问题。
但是现在偷懒了了,直接cc.director.emit/on转发消息了。就是没有集中处理的地方了。
不知道以后会不会有更大的坑。
现在还在升级中,慢慢修复bug
我实在是挺好奇的 ,websocket无论是接受还是发送,一共就那么几个函数,调用一下 整理整理超不过百十行代码的东西,这么成熟的东西,为啥非要弄个其他的库进来? 我实在没看出 socketIO 有啥好的是?
socketIO在于方便,
我引入socketio之后,代码好像只有4-5行代码服务端就完成了,客户端总共才4句代码就能收发了。
我封装了ws后,除了onerror onclose之外都是好几行代码啊。
这个还没有实现断线重连 心跳,关闭呢。现在算是完成了,正在修复升级bug。