파이썬에서 서버와 클라이언트를 구현하는 간단한 테스트를 공부 중인데 다음과 같은 오류가 떴다.
ConnectionRefusedError: [WinError 10061] 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다
원인을 찾아보니 서버와 클라이언트를 실행할 때는 각각의 idle에서 실행해야 한다고 한다.
같은 idle에서 서버와 클라이언트를 실행할 경우 먼저 실행된 서버가 닫히기 때문이다.
이걸 모르고 한 idle에서 실행시켰더니 연결되지 않았다...
idle 창을 두 개 열어서 서버와 클라이언트를 실행시키니 접속이 잘 되었다.
[서버]
import socket
addr = ("0.0.0.0", 4444)
with socket.socket() as s:
s.bind(addr)
s.listen()
print("server is started..")
conn, addr = s.accept()
print("client = {}:{}".format(addr[0], addr[1])) #ip, port
data = conn.recv(1024)
conn.send(data)
print(data.decode())
[클라이언트]
import socket
addr = ("127.0.0.1", 4444)
str1 = input("echo: ").encode()
with socket.socket() as s:
s.connect(addr)
s.send(str1)
data = s.recv(1024)
print(data.decode())
'Python' 카테고리의 다른 글
[Python] 문자열 연산, len(), count(), indexing (0) | 2023.10.17 |
---|---|
[Python] 소수 출력하기 (리스트 사용) (0) | 2022.06.13 |
[Python] 리스트 선언, 삽입, 제거, 조회 (0) | 2022.05.19 |