python核心编程socket备忘
服务器端:
# Echo server program from socket import * from time import ctime HOST = '' # Symbolic name meaning all available interfaces PORT = 50007 # Arbitrary non-privileged port 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).decode() if not data: break tcpCliSock.send(('[%s] %s' % (ctime(), data)).encode()) tcpCliSock.close() tcpSerSock.close()
客户端:
# Echo client program from socket import* HOST = '127.0.0.1' PORT = 50007 # The same port as used by the server 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).decode() if not data: break print(data) tcpCliSock.close()