1

我现在服务器上建立了个tcp服务,这个tcp服务主要负责设备端的数据交流和websocket服务器的数据交互,也就是相当于这个tcp做的是消息转发。当我的websocket服务器被触发了onMessage事件,我就会建立一个协程tcp客户端并和tcp服务器建立长连接。 但是这个协程客户端只会给tcp发送一条请求,而tcp服务需要源源不断的接收设备的数据并且把数据发送到协程tcp客户端。我如何处理tcp服务端一直源源不断的把数据丢给协程tcp客户端呢?最后协程tcp客户端还要把数据推到websocket客户端。

_Peter 25
3月19日提问

查看全部 3 个回答

0

tcp客户端写一个for循环 read再把数据放到buf,最后tcp服务端可以发送一个结束标志位,或者客户端根据业务逻辑close,最后再推送给websocket,伪代码:

for {
    var buf
    tcp_client.read(buf)
    if xxx { break }
}
websocket_client.send(server, buf)
tcp_client.close()

推广链接