Python程序和JS之间的本地套接字连接

时间:2018-05-24 12:32:08

标签: javascript sockets

我正在尝试在Python(客户端)和JavaScript(服务器)之间建立套接字连接,但我有点困惑如何去做。

在javascript的服务器端,我有这段代码:

JS服务器

var net = require('net');

var server = net.createServer(function(socket){
        socket.write('Echo server\r\n');
        socket.pipe(socket);
});

server.listen(1337, '127.0.0.1');

对于Python上的客户端,我有这个

Python客户端

import socket

class JavaSocket:

def __init__(self):
    self.client_socket = None
    self.portNumber = 1337

def socketMethod(self):
    """ This method will establish the socket Connection between Java and Python """
    try:
        self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.client_socket.connect(("localhost",self.portNumber))
        print(self.portNumber)
    except Exception as e:
        raise

def socketConnection(self):

    sentence = "Test"
    self.client_socket.send(sentence.encode())
    data = self.client_socket.recv(1024)
    print(data)
    if data is not None:
        print("Socket closed")
    self.client_socket.close()


js = JavaSocket()
js.socketMethod()
js.socketConnection()

我对JS和套接字连接并不熟悉。我尝试在Python中运行它并得到一个错误,表明连接被拒绝。

1 个答案:

答案 0 :(得分:0)

我为我工作的客户端服务器端的代码是

var net = require('net');
var server = net.createServer(function(socket){
    socket.write('Echo server\r\n');
    socket.pipe(socket);
    socket.on('data', function(buffer)
        {
             console.log(buffer.toString());
         }
    });

server.listen(1337, '127.0.0.1');

这将连接到客户端并发送“Echo server”消息并从客户端打印消息“Test”