gaochundong / Cowboy.WebSockets

Cowboy.WebSockets is a C# based library for building WebSocket services.
MIT License
37 stars 13 forks source link

Cowboy.WebSockets.TestAsyncWebSocketClient有bug #2

Open sttacckz opened 7 years ago

sttacckz commented 7 years ago

具体是server还是client不熟悉源码就不下结论了. 开启Cowboy.WebSockets.TestAsyncWebSocketServer 然后开Cowboy.WebSockets.TestAsyncWebSocketClient,发送many,发送 big100,然后等有ping,pong响应,再次发送数据server没有显示有数据过来.

然后我看了你博客说SegmentBufferManager回收不是缓存分配的或许用GetHashCode()可以解决?

不知道能否给Send增加个回调,这样我发送完成可以重复使用发送缓存.

gaochundong commented 7 years ago

感谢提出Bug,不过我是不清楚具体是什么问题,能否将复现步骤细化下。 我刚测试了下 many, big100 都可以成功发送,即使在保活之后也是可以的。

sttacckz commented 7 years ago

我这也并非每次都能重现 系统是 win10 x64 专业版,正版 Build:14393.447.amd64fre.rs1_release_inmarket.161102-0100 cpu:i7-5960x @ 3.0GHz 内存:32g 硬盘:三星 950 pro

IDE VS2015 up3

1.Debug版本编译 2.开启Cowboy.WebSockets.TestAsyncWebSocketServer 控制台 3.vs直接debug f5启动Cowboy.WebSockets.TestAsyncWebSocketClient 4.client发送 many 5.client在发送big1或big10或big100 6.等待出现ping,pong帧,然后在等待30s左右

然后不管客户端发送什么,或者直接退出client,server没有任何显示,就算在开client也没反应.

unity版本不管怎么试都没出现这种情况

gaochundong commented 7 years ago

兄,按照你的步骤我还是没有复现,等待后还是可以通信的。是不是打了断点,导致KeepAlive失败了直接断掉连接了?

sttacckz commented 7 years ago

image 没有任何断点, server没响应后客户端连不上 server没有做任何修改,或许是控制台缓冲问题,可能不是你程序的bug

gaochundong commented 7 years ago

使用和配置问题 #3 #4 请在一个 Bug 中描述即可,不用分着提Bug。