jkcp
jkcp copied to clipboard
kcp for java . 适用于moba,视频加速等需要极速传输场景的应用,c#版本(客户端)请参考:https://github.com/beykery/kcp4sharp
[nioEventLoopGroup-2-1] WARN io.netty.util.ReferenceCountUtil - Failed to release a message: DatagramPacket(/0.0.0.0:6000 => /127.0.0.1:64272, PooledUnsafeDirectByteBuf(freed)) io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
@Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { KcpClient.this.handleException(cause, null); KcpClient.this.close(); } KcpClient.this.close(); 是否调整为KcpClient.this.handleClose()更为合理
TestServer 和 TestClient 的 handleRecieve 都改为类似 @Override public void handleReceive(ByteBuf bb, KcpOnUdp kcp) { String content = bb.toString(Charset.forName("utf-8")); System.out.println("KCP "+ content +System.currentTimeMillis()); kcp.send(bb);// echo } 互相回发,Client的main函数中 sleep 1s 后调用close() 方法,测试下来Server端可以打印100行左右。...
KCP.java中update方法第一行将Long强转为int类型 this.current = (int) current; 外部传入的是毫秒时间戳,这里强转为int类型,导致current变为负数,进而导致后续的rto计算全部失效。 看了c版本的kcp代码都是long类型的,这改为int是如何考虑的?上述问题应该如何解决?
请问 websockt 如何封装 html 是主流,有相关demo吗。 js websocket 客户端通信demo吗,因为我服务器用 jkcp 但是客户端用的html
客户端建立连接后,发送 ByteBuf bb = Unpooled.buffer(128); int N = 9000; for (int i = N; i > 0; i-=4) { bb.writeInt(i); } tc.send(bb); 调试发现 server 的 Kcp.java 的 peekSize 总是走到 if...
自定义编解码
非常感谢您提供这个开源代码,对我很有帮助。 如果加入自定义编解码,我自定义的编解码器应该放在哪里呢,目前看来似乎是要在TestServer的handleReceive中对收到的Bytebuf消息进行编解码处理。 这样以来就没办法利用pipline()来进行消息流处理。 /*ch.pipeline().addLast(new UdpMessageDecoder()); // 消息加解密:消息ID(4字节)*/ 不知道我又没有把问题描述清楚,感谢!
哥们你拼错了吧
