Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 从Web浏览器调用普通套接字_Node.js_Reactjs_Sockets_Websocket - Fatal编程技术网

Node.js 从Web浏览器调用普通套接字

Node.js 从Web浏览器调用普通套接字,node.js,reactjs,sockets,websocket,Node.js,Reactjs,Sockets,Websocket,我有一个用js编写的webapp 我要做的是与本地主机上运行的普通TCP套接字通信。(侦听请求的设备是Eftpos终端)。所以我想发送购买命令并从中接收响应 如何从我的webapp与普通TCP套接字通信?据我所知,我不能仅仅通过webapp与TCP套接字通信。因为webapps只支持不同的WebSockets。另一种方法是什么?唯一的方法是代理数据服务器端 您可以在服务器端建立TCP连接,并通过Websocket连接将数据中继到浏览器客户端。唯一的方法是代理数据服务器端 您可以在服务器端建立TC

我有一个用js编写的webapp

我要做的是与本地主机上运行的普通TCP套接字通信。(侦听请求的设备是Eftpos终端)。所以我想发送购买命令并从中接收响应


如何从我的webapp与普通TCP套接字通信?据我所知,我不能仅仅通过webapp与TCP套接字通信。因为webapps只支持不同的WebSockets。另一种方法是什么?

唯一的方法是代理数据服务器端


您可以在服务器端建立TCP连接,并通过Websocket连接将数据中继到浏览器客户端。

唯一的方法是代理数据服务器端


您可以在服务器端建立TCP连接,并通过Websocket连接将数据中继到浏览器客户端。

浏览器中的Javascript可以执行http、Websocket和webRTC。浏览器Javascript(没有包含自己本机代码的自定义加载项)无法进行普通TCP连接

如果要连接到需要普通TCP连接的对象,则需要使用http或webSocket连接到服务器,并让服务器连接到常规TCP套接字,服务器可以在它们之间进行转换。这通常被称为代理

因此,出于本解释的目的,让我们假设您想要连接到某个使用普通TCP套接字的服务,您需要向它发送几行文本,并获取几行文本作为响应。对于浏览器到服务器的传输,客户端必须在http或webSocket之间进行选择,所以让我们假设您正在使用webSocket。事件的顺序可能如下所示:

  • 浏览器客户端通过webSocket连接到服务器
  • 您的服务器接收传入的webSocket连接,并且因为它知道它将充当使用普通TCP套接字的服务器的代理,所以它会代表该用户打开该套接字
  • 浏览器客户端通过webSocket发送第一个请求
  • 服务器接收第一个请求并将其转换为TCP套接字所需的任何格式,然后通过TCP套接字发送该请求
  • 当您的服务器从TCP套接字获得响应时,它将该响应转换为webSocket数据包并将其发送回客户端
  • 客户端通过其webSocket连接接收响应
  • 想重复多久就重复多久
  • 当客户端关闭webSocket连接时,服务器将关闭到其他服务器的TCP连接

  • 浏览器中的Javascript可以执行http、webSocket和webRTC。浏览器Javascript(没有包含自己本机代码的自定义加载项)无法进行普通TCP连接

    如果要连接到需要普通TCP连接的对象,则需要使用http或webSocket连接到服务器,并让服务器连接到常规TCP套接字,服务器可以在它们之间进行转换。这通常被称为代理

    因此,出于本解释的目的,让我们假设您想要连接到某个使用普通TCP套接字的服务,您需要向它发送几行文本,并获取几行文本作为响应。对于浏览器到服务器的传输,客户端必须在http或webSocket之间进行选择,所以让我们假设您正在使用webSocket。事件的顺序可能如下所示:

  • 浏览器客户端通过webSocket连接到服务器
  • 您的服务器接收传入的webSocket连接,并且因为它知道它将充当使用普通TCP套接字的服务器的代理,所以它会代表该用户打开该套接字
  • 浏览器客户端通过webSocket发送第一个请求
  • 服务器接收第一个请求并将其转换为TCP套接字所需的任何格式,然后通过TCP套接字发送该请求
  • 当您的服务器从TCP套接字获得响应时,它将该响应转换为webSocket数据包并将其发送回客户端
  • 客户端通过其webSocket连接接收响应
  • 想重复多久就重复多久
  • 当客户端关闭webSocket连接时,服务器将关闭到其他服务器的TCP连接

  • 请详细说明“代理数据服务器大小”的含义。浏览器客户端与服务器建立Web套接字连接,服务器与终端建立连接,服务器向两个方向传递数据。我真的不知道该怎么形容它。我想我明白了,几乎有一个No.js服务器在中间运行,向另一方发出消息。是的,没错!请详细说明“代理数据服务器大小”的含义。浏览器客户端与服务器建立Web套接字连接,服务器与终端建立连接,服务器向两个方向传递数据。我真的不知道该怎么形容它。我想我明白了,几乎有一个No.js服务器在中间运行,向另一方发出消息。是的,没错!从浏览器还是从您的Web应用程序?从浏览器还是从您的Web应用程序?