Websocket:javascript作为客户端,python作为服务器,Linux上的Web主机

时间:2016-08-22 23:03:41

标签: javascript python websocket server tcp-ip

我需要构建一个网站,其中Javascript用作客户端语言,通过websockets与python服务器通信。该网站需要托管在Linux上。现在,我正在使用命令python -m SimpleHTTPServer来构建一个简单的服务器,服务器也在Linux上并使用python。

如何设置javascript客户端websocket通信?或者我应该如何处理架构?

1 个答案:

答案 0 :(得分:0)

假设你的python websocket服务器正在运行。您可以通过html5:

通过您的网站与其联系
socket= new WebSocket('ws://www.example.com:8000/somesocket');
socket.onopen= function() {
    socket.send('hello');
};
socket.onmessage= function(s) {
    alert('got reply '+s);
};

或通过

http://raw-sockets.sysapps.org/#interface-tcpsocket

https://www.w3.org/TR/tcp-udp-sockets/

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);
    );

无论您的服务器是什么样子,您始终需要确保您的服务器和客户端使用相同的“协议”,即他们使用相同的变量发送和订购发送它们。

如果您还需要在python中设置套接字服务器,我建议您在线查看一些教程,因为这是一项非常重要的任务:http://www.binarytides.com/python-socket-server-code-example/