【问题标题】:How to connect to simple tcp socket in React如何在 React 中连接到简单的 tcp 套接字
【发布时间】:2022-04-29 07:54:38
【问题描述】:

我是 React 新手,似乎找不到任何关于如何创建简单 TCP 连接以从其他服务器接收数据的示例(不通过 websocket)。

例如,我想在 Linux 上使用 netcat 在端口 3333 上启动一个侦听器:

nc -k -l localhost 3333

我想让我的 react 应用程序连接到这个端口并接收一些纯文本。最好有定时器重新连接功能,以防另一端尚未连接。我不确定 socket.io-client 库是否能够连接到普通的 tcp 套接字(不是 websocket 协议)。

import React, { useState, useEffect } from 'react';

const io = require('socket.io-client');
const socket = io('localhost:3333');

function App() {
  const [messageCount, setMessageCount] = useState(0);
 
  useEffect(() => {
    socket.on('receive message', payload => {
      setMessageCount(messageCount + 1);
    });
  }, []);
  
  return (
     <div class="theme-1">
       <p>received {messageCount} messages</p>
     </div>
  );
}

export default App;

感谢任何帮助。谢谢。

【问题讨论】:

  • 好的,所以我认为出于安全考虑,它不受支持。在这种情况下,解决这个问题的一种方法是编写一个服务器端进程来处理一侧传入的 TCP 数据,然后通过 websocket 接口将其中继到我的反应进程上?不确定是否有其他方法可以实现我想做的事情。

标签: reactjs react-native


【解决方案1】:

为了通过react连接,必须在服务器端引用指定端口实现三次握手,主要用于创建TCP套接字连接,以便在设备之间可靠地传输数据。

更多信息查看->Implement 3 way handshake for TCP in Java

【讨论】:

    猜你喜欢
    • 2022-07-07
    • 2011-06-22
    • 2015-03-05
    • 2021-11-26
    • 1970-01-01
    • 2011-08-31
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多