zoukankan      html  css  js  c++  java
  • Python3 Socket与Socket心跳机制简单实现

    server

    import socket
    import datetime
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.bind(('127.0.0.1',9999))
    s.listen(1)
    starttime = None
    endtime = None
    def Wait_connection():
        global starttime
        s.settimeout(None)
        conn,addr=s.accept()
        starttime = datetime.datetime.now()
        print('client addr',addr)
        client_msg=conn.recv(1024)
        print('client msg: %s' %(str(client_msg,'utf-8')))
        keep_alive()
    def keep_alive():
        global endtime
        a = 1
        while a==1:
            try:
                s.settimeout(5)
                print('---------------------------------')
                conn,addr=s.accept()
                print('client addr',addr)
                client_msg=conn.recv(1024)#客户端发送过来的消息
                print('client msg: %s' %(str(client_msg,'utf-8')))
            except:
                a = 2
                endtime = datetime.datetime.now()
        print('连接已断开,本次连接持续 %s 秒'%str((endtime - starttime).seconds))
        Wait_connection()
    if __name__ == '__main__':
        Wait_connection()

    client

    import socket
    import time
    a = 0
    while True:
        time.sleep(4)
        a+=1
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.connect(('127.0.0.1',9999))
        keepclass = "我已连接"+str(a*4)+""
        s.send(bytes(keepclass,'UTF-8'))#向服务端发送消息

  • 相关阅读:
    PSP总结报告
    第十三周例行报告
    对团队成员公开感谢
    附加作业 软件工程原则的应用实例分析
    第十二周例行报告
    第十一周例行报告
    第十周例行报告
    第八周例行报告
    第七周例行报告
    第六周例行报告
  • 原文地址:https://www.cnblogs.com/sea-stream/p/14181848.html
Copyright © 2011-2022 走看看