学习''Python核心编程第三版''2.1中的例子
服务端
__author__ = 'SkyQQ' from socket import * from time import ctime HOST = '' PORT = 21567 BUFSIZ = 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(BUFSIZ).decode() print('data =', data) if not data: break tcpCliSock.send(('[%s] %s' % (ctime(), data)).encode()) tcpCliSock.close() tcpSerSock.close()
客户端
__author__ = 'SkyQQ' from socket import * HOST = '127.0.0.1' # or localhost PORT = 21567 BUFSIZ = 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(BUFSIZ) if not data: break print(data.decode('utf-8')) tcpCliSock.close()
期间还遇到了字符串转换的错误,上述代码是已经修改过的,解决过程离不开万能的百度
同时也给自己提个醒,永远不要忘记
纸上得来终觉浅 绝知此事要躬行