WebSocket 客户端不接收数据
我有一个用 C# 编写的 websocket 服务器和一个简单的客户端来测试它。
我成功地进行了握手,它触发了客户端中的 onopen 事件。 但是当我向客户端发送数据时,它只是忽略它。
就像:
byte[] data = Encoding.UTF8.GetBytes(text);
clientSocket.Send(data);
在客户端中它永远不会触发事件onmessage
。
我已经尝试放置文本的第一个字节 0x00
和最后一个 0xFF
,但没有区别。 我尝试先发送 byte[0] = 0x00
的字节数组,然后发送消息,最后发送 byte[0] = 0xFF
。但同样没有差异。
有人知道我该如何解决这个问题吗?
I got a websocket server written in c# and a simple client to test it.
I successfully made the handshake, and it triggers the onopen event in client.
But when i send data to the client it just ignores it.
Like:
byte[] data = Encoding.UTF8.GetBytes(text);
clientSocket.Send(data);
In the client it never triggers the event onmessage
.
I already tried to put the first byte of text 0x00
and last 0xFF
, but no diferences.
I tried to send an array of bytes with byte[0] = 0x00
first, then the message and then byte[0] = 0xFF
. But again no diferences.
Someone knows how can I solve this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我已经找到了解决方案。
问题是,在此版本的草稿消息中应该进入一个框架。
有几个字节应该放在第一位。
这篇文章对我有帮助,希望它也能帮助其他人:
http://blog.vunie.com/implementing-websocket-draft-10
I already found the solution.
The problem is that in this version of draft messages should goes into a frame.
There is a several bytes that should come first.
This article helped me, hope it can help someone else:
http://blog.vunie.com/implementing-websocket-draft-10
你最好直接使用websocket客户端库。
http://websocket4net.codeplex.com/
You'd better use a websocket client library directly.
http://websocket4net.codeplex.com/