파이썬을 사용하여 랩톱에서 소켓 통신을 테스트하려고합니다. 그러나 왜 연결이 설정되지 않았는지 잘 모르겠습니다. 대상 컴퓨터가 연결을 적극적으로 거부하고 있다는 오류가 계속 발생합니다. 동일한 컴퓨터를 사용하여 클라이언트와 서버 부분을 모두 실행하려고합니다. 서버는 잘 돌아가고 있지만 클라이언트는 연결하지 않습니다. 내가 호스트 이름을 잘못 (127.0.0.1) 가지고 있다고 생각하지만, 사용하고있는 Im이 무엇인지 확실하지 않습니까? 나는 또한 서버 호스트 이름을 (0.0.0.0)으로 변경하려고 시도했다. 그리고 클라이언트가 연결할 호스트 이름에 대한 IPV4 주소를 시도했지만 그 중 하나도 작동하지 않았다. 어떤 도움을 주시면 감사하겠습니다!동일한 컴퓨터에 클라이언트 - 서버 테스트
내 코드 (서버 부분) :
import socket
comms_socket =socket.socket()
comms_socket.bind(('127.0.0.1', 50000))
comms_socket.listen(10)
connection, address = comms_socket.accept()
while True:
print(connection.recv(4096).decode("UTF-8"))
send_data = input("Reply: ")
connection.send(bytes(send_data, "UTF-8"))
클라이언트 부분 :
import socket
comms_socket = socket.socket()
comms_socket.connect(('127.0.0.1',50000))
while True:
send_data = input("Message: ")
comms_socket.send(bytes(send_data, "UTF-8"))
print(comms_socket.recv(4096).decode("UTF-8"))
문제점을 재현 할 수 없다면 코드가 내 컴퓨터에서 정상적으로 작동합니다. (윈도우 7, 파이썬 3.5). 코드가 소켓을 열지 못하게하는 방화벽이 설치되어 있는지 확인하십시오. 또한, 당신은 이것을 실행하고있는 운영 체제가 무엇입니까? –
이 코드는 나를 위해 잘 작동합니다. BTW, 일반적인 패턴은 서버가 파이썬에서 빈 문자열 (' ""')로 표시되는 모든 주소 ('INADDR_ANY')를 수신하도록하는 것입니다. 그런 다음 localhost 인터페이스 ('127.0.0.1') 나 IP 주소를 가진 다른 인터페이스를 통해 메시지를받습니다. 클라이언트는 항상'connect'에 명시 적 주소를 제공해야합니다. –
윈도우 10, 파이썬 3.5를 사용하고 있습니다. 파이썬 셸에서 실행할 때 문제가 발생하는 것은 IDLE이라고 생각합니다. 직접 실행하면 프로그램이 작동합니다. 도와 주셔서 감사합니다 –