【发布时间】: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