gpt4 book ai didi

sockets - 握手后立即发送 WebSocket 消息

转载 作者:太空宇宙 更新时间:2023-11-03 22:48:28 25 4
gpt4 key购买 nike

我正在node.js 中构建一个WebSocket 服务器。当客户端连接后,我想立即向其发送一条消息。

但是,当我在握手完成后发送它时,我在 Chrome 中收到错误:

Status line contains embedded null

当我使用 setTimeout 在握手后 100 毫秒发送消息时,它可以工作,但是当使用此技术使用 10 毫秒时,它又不起作用。

看起来握手和消息在一起发送时会被附加,以防它们之间的时间间隔很小(尽管我不确定,因为我不知道如何查看原始 WebSocket Chrome 中的流量 - 如果有人这样做,我也很想听听)。

我不想让服务器等待 100 毫秒,因为这对于客户端来说肯定是明显的,而且它看起来像是一个肮脏的把戏,而不是一个好的解决方案。

握手后如何立即发送消息?

最佳答案

我已经整理好了 - 我是在有连接时发送的,但这当然是在握手发送之前。所以我正在做:

client connected
send message
receive handshake request
send handshake response
...

我刚刚通过在发送握手时触发库的 connect 事件来更改代码,此时 WebSocket 连接才真正建立。

作为旁注,我想提一下 chrome://net-internals/在调试 WebSocket 连接时是一个非常有用的页面(您可以轻松地看到请求/响应握手)。我早该知道的...

关于sockets - 握手后立即发送 WebSocket 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6571109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com