Сокет сервер в питоне отказывается подключаться - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь создать простой веб-сервер с Python, используя следующий код.Однако, когда я запускаю этот код, я сталкиваюсь с этой ошибкой:

ConnectionRefusedError: [WinError 10061] Невозможно установить соединение, поскольку целевая машина активно отказала ему

ЭтоСтоит отметить, что я уже пробовал некоторые решения, предлагающие манипулирование настройками прокси в настройках Интернета.Я запустил код как в непроверенной, так и в подтвержденной ситуации прокси-сервера, но пока не могу решить проблему.Не могли бы вы провести меня через это?

import sys
import socketserver
import socket

hostname = socket.gethostname()
print("This is the host name:  " + hostname)

port_number = 60000

soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
soc.connect((hostname,port_number))

1 Ответ

0 голосов
/ 10 февраля 2019

Стандартный ПРИМЕР соединения с сокетом

СЕРВЕР И КЛИЕНТ

запустите это в своем IDLE

import time
import socket
import threading
HOST = 'localhost'  # Standard loopback interface address (localhost)
PORT = 60000       # Port to listen on (non-privileged ports are > 1023)

def server(HOST,PORT):
    s =  socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind((HOST, PORT))
    s.listen(1)

    while True:
        conn, addr = s.accept()
        data = conn.recv(1024)
        if data:
            print(data)
            data = None
        time.sleep(1)
        print('Listening...')


def client(HOST,PORT,message):            
    print("This is the server's hostname:  " + HOST)


    soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    soc.connect((HOST,PORT))
    soc.send(message)
    soc.close()

th=threading.Thread(target = server,args = (HOST,PORT))
th.daemon = True
th.start()

После запуска этого в вашем IDLEвыполните эту команду и посмотрите ответ

>>> client(HOST,PORT,'Hello server, client sending greetings')
This is the server's hostname:  localhost
Hello server, client sending greetings
>>> 

Если вы попытаетесь выполнить сервер с портом 60000, но отправите сообщение на другой порт, вы получите ту же ошибку, что и в вашем OP.Это показывает, что на этом порту нет сервера, прослушивающего соединения

...