赞
踩
写在前面:关于socket模块函数详细地址https://blog.csdn.net/farley119/article/details/82414207
创建一个tcp服务器:
- from socket import *
- from time import ctime
-
- HOST=''#host变量为空表示bind()函数可以绑定在所有有效地址上
- PORT=571
- BUFSIZE=1024#缓冲区大小为1K
- ADDR=(HOST,PORT)
-
- tcpSerSock=socket(AF_INET,SOCK_STREAM)#生成tcp服务器的套接字
- tcpSerSock.bind(ADDR)#绑定套接字至服务器
- tcpSerSock.listen(5)#监听,5是最多允许的连接数
-
- while True:
- print('等待连接......')
- tcpCliSock,addr=tcpSerSock.accept()
- print('链接来自:',addr)
-
- while True:
- data=tcpCliSock.recv(BUFSIZE)
- if not data:#若消息为空
- break#客户端退出,并重新进入循环
- tcpCliSock.send(('[{}] {}'.format(ctime(), data.decode())).encode())#加上时间戳
- tcpCliSock.close()
- tcpSerSock.close()
创建tcp客户端:
- from socket import *
-
- HOST='localhost'#主机名设为本地主机名
- PORT=571
- BUFSIZE=1024#缓冲区大小为1K
- ADDR=(HOST,PORT)
-
- tcpCliSock=socket(AF_INET,SOCK_STREAM)#创建tcp客户套接字
- tcpCliSock.connect(ADDR)#链接服务器
-
- while True:
- data=input('> ')#打印输出命令提示符
- if not data:
- break
- data=data.encode('ascii')#以byte形式转发
- tcpCliSock.send(data)
- data=tcpCliSock.recv(BUFSIZE)
- if not data:
- break
- #打印用于调试目的
- print(data)
- tcpCliSock.close()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。