beykery / jkcp

kcp for java . 适用于moba,视频加速等需要极速传输场景的应用,c#版本(客户端)请参考:https://github.com/beykery/kcp4sharp
Apache License 2.0
186 stars 85 forks source link

服务端怎么把接收到的消息广播给所有的客户端啊,我同时启动c#客户端和java客户端。但客户端只能接收到自己发出去的消息。别的客户端的消息接收不到 #12

Closed jj391 closed 6 years ago

beykery commented 6 years ago

你可以继承KcpServer,实现那几个回调方法,其中handleReceive方法,你可以把参数KcpOnUdp保存下来,这就是连接上来的客户端,KcpOnUdp有一个属性:sessionId,你可以查看下这个sessionid是否为null,如果为null,你可以调用setSessionId给他赋值,并按照sessionid保存到你的map里面。这样当你想发送给某个KcpOnUdp时,就从map里面查找,然后send就行了。除此之外getSessionMap方法可以让你获取KcpOnUdp的session data,你自由存取即可保存你自己定义的跟此KcpOnUdp有关的自定义数据;getSession和setSession方法就是用来存取你自定义session数据的方法。明白没有?

jj391 commented 6 years ago

谢谢你了。我试试。

beykery commented 6 years ago

说的有点乱,,,你应该能看懂吧?

jj391 commented 6 years ago

我刚刚试了。服务端可以广播了。谢谢了。

wushd commented 4 years ago

我刚刚试了。服务端可以广播了。谢谢了。

请问是怎么实现广播的,能贴下实现代码吗