<p>这可以通过导航器界面实现,如下所示:</p>
<pre><code>navigator.tcpPermission.requestPermission({remoteAddress:"127.0.0.1", remotePort:6789}).then(
() => {
// Permission was granted
// Create a new TCP client socket and connect to remote host
var mySocket = new TCPSocket("127.0.0.1", 6789);
// Send data to server
mySocket.writeable.write("Hello World").then(
() => {
// Data sent sucessfully, wait for response
console.log("Data has been sent to server");
mySocket.readable.getReader().read().then(
({ value, done }) => {
if (!done) {
// Response received, log it:
console.log("Data received from server:" + value);
}
// Close the TCP connection
mySocket.close();
}
);
},
e => console.error("Sending error: ", e)
);
}
);
</code></pre>
<p>更多细节在w3.org tcp udp sockets文档中概述。</p>
<p><a href="http://raw-sockets.sysapps.org/#interface-tcpsocket" rel="nofollow noreferrer">http://raw-sockets.sysapps.org/#interface-tcpsocket</a></p>
<p><a href="https://www.w3.org/TR/tcp-udp-sockets/" rel="nofollow noreferrer">https://www.w3.org/TR/tcp-udp-sockets/</a></p>
<p>另一种选择是使用<a href="https://developer.chrome.com/apps/socket" rel="nofollow noreferrer">Chrome Sockets</a></p>
<p><strong>创建连接</strong></p>
<pre><code>chrome.sockets.tcp.create({}, function(createInfo) {
chrome.sockets.tcp.connect(createInfo.socketId,
IP, PORT, onConnectedCallback);
});
</code></pre>
<p><strong>发送数据</strong></p>
<pre><code>chrome.sockets.tcp.send(socketId, arrayBuffer, onSentCallback);
</code></pre>
<p><strong>接收数据</strong></p>
<pre><code>chrome.sockets.tcp.onReceive.addListener(function(info) {
if (info.socketId != socketId)
return;
// info.data is an arrayBuffer.
});
</code></pre>
<p>也可以尝试使用<code>HTML5 Web Sockets</code>(尽管这不是直接的TCP通信):</p>
<pre><code>var connection = new WebSocket('ws://IPAddress:Port');
connection.onopen = function () {
connection.send('Ping'); // Send the message 'Ping' to the server
};
</code></pre>
<p><a href="http://www.html5rocks.com/en/tutorials/websockets/basics/" rel="nofollow noreferrer">http://www.html5rocks.com/en/tutorials/websockets/basics/</a></p>
<p>您的服务器还必须使用WebSocket服务器(如pywebsocket)进行侦听,或者您也可以按照<a href="https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers" rel="nofollow noreferrer">Mozilla</a>中的说明编写自己的服务器</p>