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

服务器,等待客户端请求,并响应他们,然后等待更多请求,无限运行。
客户端,因特定的请求联系服务器,发送数据,等待响应,最后结束请求或者给出故障原因。
功能:为客户端的输入加上服务器的时间戳
  • 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 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('……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=21567
BUFSIZ=1024
ADDR=(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()  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值