参考书籍python核心编程第二版
#服务器端代码:保存文件名为:servsock.py
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST,PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
while True:
print ('waiting for connection...')
tcpCliSock,addr = tcpSerSock.accept()
print ('... connected from:',addr)
while True:
data = tcpCliSock.recv(BUFSIZE)
print(data.decode())
if not data:
break
tcpCliSock.send(data)
tcpCliSock.close()
tcpSerSock.close()
#客户端代码:保存文件名为clientsock.py
from socket import *
from time import ctime
HOST = 'localhost'
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST,PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = input('>>>')
if not data:
break
tcpCliSock.send(data.encode())
data = tcpCliSock.recv(BUFSIZE)
if not data:
break
print (data)
tcpCliSock.close()
原文由于采用python2的版本,所以input函数采用的是raw_input(), 我用的是python3版本,在运行时,提示下面错误:
我在send函数中,将input得到的data进行编码成bytes类型,实现了socket数据收发
但是服务器端出现了下面的错误:
问题还不明白是什么意思,应该如何解决。