이는 아래와 같이 네비게이터 인터페이스를 통해 가능합니다.
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)
);
}
);
자세한 내용은 w3.org tcp-udp-sockets 문서에 설명되어 있습니다.
http://raw-sockets.sysapps.org/#interface-tcpsocket
https://www.w3.org/TR/tcp-udp-sockets/
또 다른 대안은 Chrome 소켓 을 사용하는 것입니다.
연결 만들기
chrome.sockets.tcp.create({}, function(createInfo) {
chrome.sockets.tcp.connect(createInfo.socketId,
IP, PORT, onConnectedCallback);
});
데이터 보내기
chrome.sockets.tcp.send(socketId, arrayBuffer, onSentCallback);
데이터 수신
chrome.sockets.tcp.onReceive.addListener(function(info) {
if (info.socketId != socketId)
return;
// info.data is an arrayBuffer.
});
사용을 시도 할 수도 있습니다 HTML5 Web Sockets
(직접 TCP 통신은 아니지만).
var connection = new WebSocket('ws://IPAddress:Port');
connection.onopen = function () {
connection.send('Ping'); // Send the message 'Ping' to the server
};
http://www.html5rocks.com/en/tutorials/websockets/basics/
서버는 또한 pywebsocket과 같은 WebSocket 서버로 수신해야합니다. 또는 Mozilla에 설명 된대로 직접 작성할 수 있습니다.