zoukankan      html  css  js  c++  java
  • python TCP时间戳服务器端、客户端

    服务端:

    # encoding utf-8
    from socket import *
    from time import ctime
    
    HOST = '127.0.0.1'  # 是空的,这个时对bind()方法的标识,表示他可以使用任何可用的地址
    PORT = 21567
    BUFSIZ = 1024  # 缓冲区大小设置为1KB
    ADDR = (HOST, PORT)
    
    tcpSerSock = socket()  # 创建TCP服务器套接字1
    tcpSerSock.bind(ADDR)  # 绑定地址
    tcpSerSock.listen(5)  # 参数5 是在连接被转接或拒绝之前,传入连接请求的最大数
    
    while True:
        print('waiting for connection')
        tcpCliSock, addr = tcpSerSock.accept()
        print('...connect form:', addr)
    
        while True:
            data = tcpCliSock.recv(BUFSIZ)
            if not data:  # 如果消息为空,则跳出循环
                break
            # tcpCliSock.send('[%s] %s' % ((bytes(ctime(), 'utf-8')), data)) # 注意传送数据时应该是bytes类型的数据
            #tcpCliSock.send(b'[%s] %s') % (bytes(ctime(), 'utf-8'), data)
            #tcpCliSock.send((bytes(ctime(), 'utf-8'), data))
            tcpCliSock.send(data)
            tcpCliSock.send((bytes(ctime(), 'utf-8')))
            #tcpCliSock.send(data)
    
        tcpCliSock.close()  # 跳出循环后,关闭当前的客户端socket,并且等待下一个客户端接入
    tcpSerSock.close()

    客户端:

    #encoding utf-8
    from
    socket import * HOST = '127.0.0.1' PORT = 21567 BUFSIZ = 1024 ADDR = (HOST, PORT) tcpCliSock = socket() tcpCliSock.connect(ADDR) while True: data = input('> ') if not data: #如果客户端没有输入,那么程序就会结束 break tcpCliSock.send(bytes(data, 'utf-8')) data = tcpCliSock.recv(BUFSIZ) if not data: #如果服务器终止且对recv()方法调用失败 break data = tcpCliSock.recv(BUFSIZ) print(data.decode('utf-8')) tcpCliSock.close()

     

  • 相关阅读:
    jQuery初级篇
    DOM初级篇
    CSS基础篇
    javascript 初级篇
    HTML 基础篇
    Oracle文章中常用数据表的描述
    Oracle视图基础
    Oracle序列简单应用
    Oracle关联查询关于left/right join的那点事
    赋值和算术运算符
  • 原文地址:https://www.cnblogs.com/francischeng/p/9568376.html
Copyright © 2011-2022 走看看