您的位置:首页 > 编程语言 > Python开发

python socket编程:时间戳服务端与客户端

2017-08-11 21:27 453 查看
今天来写一个TCP服务器程序以及TCP客户端程序,这个服务器程序会将客户发送来的字符串加上一个时间戳并且返回

服务器端:

from socket import *
from time import ctime

HOST=''
PORT=21567
BUFSIZ=2048
ADDR=(HOST,PORT)

tcpSerSock=socket(AF_INET,SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)

while True:
print('wait for connection...')
tcpCliSock,addr=tcpSerSock.accept()
print('...connected from:',addr)

while True:
data=tcpCliSock.recv(BUFSIZ)
if not data:
break
tcpCliSock.send('[%s] %s' %(ctime(),data))

tcpCliSock.close()

tcpSerSock.close()空的HOST变量可以保证我们的bind函数绑定在任何地址上,PORT则是一个并未使用过的端口号,listen函数的参数表示服务器最多能接受的连接数,一旦超过这个数字,连接就会被拒绝
客户端:

from socket import *

HOST='localname'
PORT=21567
BUFSIZ=1024
ADDR=(HOST,PORT)

tcpCliSock=socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)

while True:
data=raw_input('>')
if not data:
break;
tcpCliSock.send(data)
data=tcpCliSock.recv(BUFSIZ)
if not data:
break
print(data)

tcpCliSock.close()

客户端的HOST则是本机的主机名,因为这个服务器和客户端都在本机运行,所以将HOST变量写成自己的主机名即可,为了成功通信,端口号必须相同。
怎么运行呢?

我们要先运行服务器再去运行客户端(不然就没意义了.....)



就这样~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: