基于Python的TCP阻塞式echo服务器
上述问题的出现是因为没有设置listen函数
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) if not data: break print 'recv data : ',data tcpCliSock.send('[%s] %s' % (ctime(),data)) tcpCliSock.close() tcpSerSock.close()
from socket import * HOST = 'localhost' PORT = 21567 ADDR = (HOST,PORT) BUFFSIZE = 1024 tcpCliSock = socket(AF_INET,SOCK_STREAM) tcpCliSock.connect(ADDR) print 'connect host success' while True: data = raw_input(">") if not data: break tcpCliSock.send(data) data = tcpCliSock.recv(BUFFSIZE) if not data: break print 'recv data : ',data tcpCliSock.close()