首页 > 解决方案 > VB.NET TCP 客户端与 NODE-RED TCP 侦听器进行双向通信

问题描述

我有一个在 Windows 启动时启动的简单 VB.net 应用程序。该应用程序的目的是在 Node-Red 上托管的远程 tcp 侦听器上发送一个字符串 (My.settings.name) 我使用 Timer3 从 TCP 侦听器接收字符串我已经测试了客户端并且我能够接收/发送到另一个 vb.net。主要问题是如何从 NODE-RED TCP 发送字符串

Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
    If TCPClientStream.DataAvailable = True Then
        Dim rcvbytes(TCPClientz.ReceiveBufferSize) As Byte
        TCPClientStream.Read(rcvbytes, 0, CInt(TCPClientz.ReceiveBufferSize))
        Dim msg As String = System.Text.Encoding.ASCII.GetString(rcvbytes)
        MsgBox(msg)
    End If
End Sub

这是用于在 vb.net 中接收 tcpclient 上的字符串的代码

[{"id":"aaed7ff9.1a39e","type":"debug","z":"a02a1902.30b3a8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":350,"y":140,"wires":[]},{"id":"b9218dcd.c12b58","type":"tcp in","z":"a02a1902.30b3a8","name":"","server":"server","host":"","port":"1312","datamode":"stream","datatype":"utf8","newline":"[update]","topic":"","base64":false,"x":130,"y":120,"wires":[["aaed7ff9.1a39e"]]}]

这是 tcp 侦听器节点和调试节点的代码。

搜索谷歌我看到的唯一选择是如果我使用节点红色作为客户端,并使用 tcp 请求。有什么办法可以反其道而行之吗?可以创建一个 tcp 服务器功能吗?

标签: javascriptnode.jsvb.nettcpnode-red

解决方案


好的,经过一番研究,我找到了解决问题的方法。首先我们有一个 tcp(输入)监听节点,在节点设置中,输出添加以下内容: msg._session 。 TCP 输入节点设置

其次添加一个模板节点,在模板节点中保存您要发送给客户端的信息。第三添加一个 tcp (out) 节点,并将类型更改为回复 tcp。 TCP 输出节点

最终图像


推荐阅读