파이썬 서버-클라이언트 tcp 사칙연산 문제입니다.
조회수 4596회
*emphasized text*C:\Users\jjh89\AppData\Local\Programs\Python\Python36\python.exe C:/Users/jjh89/PycharmProjects/untitled/client.py
connected server!
input sachick(q to quit, 0 to initialize) : 2 + 5
Traceback (most recent call last):
File "C:/Users/jjh89/PycharmProjects/untitled/client.py", line 13, in s.sendall(message)
TypeError: a bytes-like object is required, not 'str'
Process finished with exit code 1
이런 오류가 발생합니다
s.sendall(message)
print(s.recv(1000))
13번째줄은 다음과 같구요 소스는 서버가 있고, 클라이언트에서 연산자와 피연산자 를 보내서 합을 계산한 후 다시 돌려 받는 것을 구현하고 있는데 저기서 막히네요 ㅠ
print(message)
conn.sendall(message)
서버쪽은 이렇게 되어있구요 해결방법좀 부탁드립니다
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
sendall의 명세를 보시면, python2에서 sendall은 string을 매개변수로 받습니다.
하지만 python3에서는 sendall은 bytes를 받아서 발생한 문제입니다.
s.sendall(message.encode())
로 바꿔 보세요.
댓글 입력