网络编程第一步:时间戳----python3

来源:互联网 发布:mac系统iso镜像下载 编辑:程序博客网 时间:2024/06/05 17:33
服务器,等待客户端请求,并响应他们,然后等待更多请求,无限运行。客户端,因特定的请求联系服务器,发送数据,等待响应,最后结束请求或者给出故障原因。功能:为客户端的输入加上服务器的时间戳
  • tcp服务器模型
ss=socket()                    #创建服务器套接字      ss.bind()                      #套接字与地址绑定  ss.listen()                    #监听连接inf_loop:                      #服务器无限循环     cs=ss.accept()             #接受客户端连接    comm_loop:                 #通信循环         cs.recv/cs.send()      #对话(接收/发送)    cs.close()                 #关闭客户端套接字ss.close()                     #关闭服务器套接字
  • tcp客户端模型:
cs=socket()                    #创建客户端套接字cs.connect()                   #尝试连接服务器comm_loop:                     #通信循环    cs.send()/cs.recv()        #对话(发送/接收) cs.close()                     #关闭客户端套接字
  • TCP服务器代码tsTserv3.py
from socket import *from time import ctimeHOST=''PORT=21567BUFSIZ=1024ADDR=(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('……connection from:',addr)    while True:        data=tcpCliSock.recv(BUFSIZ)        if not data:            break        tcpCliSock.send(('[%s] %s'%(ctime(),data.decode())).encode())    tcpCliSock.close()tcpSerSock.close()  

TCP客户端代码tsTclnt3.py

from socket import *HOST='127.0.0.1' # or 'localhost'PORT=21567BUFSIZ=1024ADDR=(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(BUFSIZ)    if not data:        break    print(data.decode())tcpCliSock.close()