首页 > 技术文章 > 基于Python的TCP阻塞式echo服务器

wuxinliulei 2016-04-14 11:32 原文

上述问题的出现是因为没有设置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()

推荐阅读