Chrome浏览器以何种方式使用websocket与React Native中的本机代码进行通信?

时间:2019-06-18 20:46:41

标签: javascript google-chrome react-native native chrome-debugging

我正在以下链接上了解React Native的Javascript环境:https://facebook.github.io/react-native/docs/javascript-environment

它说:“使用Chrome调试时,所有JavaScript代码都在Chrome本身中运行,并通过WebSockets与本机代码进行通信”

我对Websocket的当前理解:

Websocket是允许具有以下功能的客户端和服务器之间通信的网络套接字:

1)Websocket可以永久打开,因此不必每次客户端/服务器都希望与对方通信时就重新建立连接。

2)客户端可以通过Websocket向服务器发送侦听请求,以便服务器可以在请求数据可用时将其发送回去。

我的问题:

假设我对上面的websockets的理解是正确的,我想了解Chrome如何通过websockets与本机应用程序代码进行通信。所以我的具体问题如下:

1)我读过有关websockets的信息,它仅提供客户端和服务器之间的通信。假设Chrome浏览器和本机代码位于同一台计算机上,那么websocket如何允许客户端/服务器之间的通信以及Chrome浏览器和同一台计算机上的应用程序代码之间的区别是什么?

2)我知道常规的网络套接字由IP地址和端口号组成。如果Chrome正在与本机代码通信,则Chrome是否具有一个websocket(及其端口和计算机的IP地址),而运行本机应用程序代码的进程是否具有另一个websocket?

3)我所读到的许多关于websocket的内容都涉及它们相对于HTTP轮询的优势,因为一个进程可以“监听”来自另一个进程的更新,而不是发送常规的GET请求并等待另一个进程在可用时发送数据。对于React Native,在本机代码和Chrome浏览器之间的交互的哪一部分需要使用websocket而不是其他某种通信方式?

如果您可以回答上述三个问题中的任何一个,或者让我对通过Chrome调试在React Native中如何/为什么使用Websocket进行其他方面的深入了解,

谢谢!

0 个答案:

没有答案