• NTP时间服务器与客户端


    简单的NTP服务器就是我发询问,你回复时间,服务端与客户端代码如下:

     1 from socket import *
     2 import time
     3 
     4 ip_duan = ('127.0.0.1', 8000)
     5 buff = 1024
     6 
     7 udp_server = socket(AF_INET, SOCK_DGRAM)  # SOCK_STREAM是流式的套接字,sock_dgram是数据报式
     8 udp_server.bind(ip_duan)
     9 # 因为没有链接,所以没有listen,当然也就没有accept,直接进入通信循环
    10 
    11 while True:
    12     data, addr = udp_server.recvfrom(buff)      #recv是tcp,recvfrom是udp
    13                                                # 返回的是一个元组,第一个是数据内容,第二个是客户端的IP+端口
    14     print(data.decode('utf-8'))
    15 
    16     if not data:
    17         fmt = '%Y-%m-%d %X'
    18     else:
    19         fmt = data.decode('utf')
    20 
    21     back_time = time.strftime(fmt)
    22     udp_server.sendto(back_time.encode('utf-8'),addr)
    View Code
     1 from socket import *
     2 
     3 ip_duan = ('127.0.0.1', 8000)
     4 buff = 1024
     5 
     6 udp_client = socket(AF_INET, SOCK_DGRAM)  # SOCK_STREAM是流式的套接字,sock_dgram是数据报式
     7 # udp_client.bind(ip_duan)
     8 # 因为没有链接,所以没有listen,当然也就没有accept,直接进入通信循环
     9 
    10 while True:
    11     msg = input('===>')
    12     udp_client.sendto(msg.encode('utf-8'),ip_duan)     # 没有链接,所以每次发的时候都要指定ip+duankou
    13 
    14     data, addr = udp_client.recvfrom(buff)
    15     print('时间服务器返回的时间',data.decode('utf-8'))
    View Code
  • 相关阅读:
    mac 终端命令
    安装和使用Carthage
    Mac下的常用终端命令与vim常用命令
    swift 获取推送deviceToken
    使mac版的MYSQL支持emoji表情
    iOS --- 通过CPU实现的简单滤镜效果
    IOS多选单选相册图片
    AVCaptureDevice iOS摄像头属性
    GPUImage 滤镜介绍
    苹果IOS开发者账号如何续费-Appstore
  • 原文地址:https://www.cnblogs.com/maxiaonong/p/9499849.html
Copyright © 2020-2023  润新知