https://github.com/googollee/go-socket.i…

小弟参照go-socket.io写了个消息分发器,之前小弟是用nodejs实现的,但nodejs内存溢出有问题没有得到根本解决.所以考虑转golang,但开发过程中遇到个问题望大神支招.

小弟会给每个服务端都设置最大连接数,还有会针对已连接的client进行判断.如果判断来源ip有问题可能要服务端主动断开连接.(nodejs的socket.io有一个具体的方法实现)但golang的socket.io的库文档没有没服务端主动断开连接的方法.

请问该如何写呢?

看了源码找到方法了.

感觉这个设计不太好,对于库的使用者disconnect 应该是被开放的方法.

没用过golang的socket,不过有个建议:你debug看看创建连接时,返回的是个什么对象,再去查查这个对象所属的class以及父class,看看这些类有没有类似关闭,销毁这样的方法,然后一个个实验一下。

golang现在确实有很多包都是这样的,有些用法必须在源码中才能找到。关键是文档或示例中应该给个说明使用emit(disconnect)或者conn.Close,目前没办法啊,只能是去看源码找。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐