zoukankan      html  css  js  c++  java
  • tcp和udp协议的聊天 和udp协议的时间同步机制-----编码

    tcp协议聊天

    服务端::

    客户端

    udp协议的聊天

    ############    udp协议    ###########
    服务器
    
    import socket
    sk = socket.socket(type = socket.SOCK_DGRAM)         ##udp协议
    sk.bind((ip地址,端口号))                         
    while 1:
           msg_r,addr = sk.recvfrom(1024)                ##接收来自哪里的消息
           print(msg_r.decode('utf-8'),addr)              ##把收到的内容解码出来
           if msg_r.decode('utf-8')  == 'q':
                  continue
           user = input('>>>')
           sk.sendto(user.encode('utf-8'),addr)           
           if user == 'q':
                 break
    sk.close()
    
    
    
    
    
    客户端:
    
    import socket
    sk = socket.socket(type = socket.SOCK_DGRAM)
    while 1:
           mag = input('>>>>')
           sk.sendto(mag.encode('utf-8')(服务器ip地址,服务器那边的端口号)
           if mag == 'q':
                 break
           mag_r,addr = sk.recvfrom(1024)
           print(mag_r.decode(''utf-8))
           if mag_r.decode() == 'q':
                   break
         
    

      

    ################     时间同步机制     ####################
    服务器:
    
    import socket                     ##引进socket模块
    import time                        ##引进时间模块
    sk = socket.socket(type = socket.SOCK_DGRAM)     ##实例化    DGRAM 是udp  这个位置是固定的
    sk.bind(ip地址,端口号)
    
    while 1:
            tm_format,addr = sk.recvfrom(1024)     ##接收的是1024个字节 
            tm_format = tm_format.decode('utf-8')  ##%Y/%m/%d %H:%M:%S
            local_tm = time.strftime(tm_format)      ##获取到了对应格式的当前时间
            sk.sendto(local_tm.encode('utf-8'),addr)   ##返回给客户端  
    
    
    
    
    客户端:
    
    import socket                        ##引入socket模块
    import time                          ##引入time模块
    sk = socket.socket(type = socket.SOCK_DGRAM)     ##udp协议固定的
    tm_format = input('>>>')          ##输入
    while 1:
           sk.sendto(tm_format.encode('utf-8'),(ip地址,端口号))     ##发送出去
           local_tm,addr = sk.recvfrom(1024)        ##接收1024个字节
           print(local_tm,decode('utf-8'))         ##解码
           time.sleep(2)                                 ##停顿2秒
    

      

  • 相关阅读:
    Median Value
    237. Delete Node in a Linked List
    206. Reverse Linked List
    160. Intersection of Two Linked Lists
    83. Remove Duplicates from Sorted List
    21. Merge Two Sorted Lists
    477. Total Hamming Distance
    421. Maximum XOR of Two Numbers in an Array
    397. Integer Replacement
    318. Maximum Product of Word Lengths
  • 原文地址:https://www.cnblogs.com/liuafan/p/9334795.html
Copyright © 2011-2022 走看看