Локальное сокетное соединение между Python-программой и JS - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь установить сокет-соединение между 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 Client

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 голосов
/ 29 мая 2018

Код для клиент-серверной части, с которой я работал, был

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» с клиента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...