zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    R语言入门视频笔记--2--一些简单的命令
    Java 虚拟机内存优化
    Apollo 配置中心
    Apollo本地缓存文件
    SpringBoot 远程调试
    SpringCloud微服务架构下 部署在ECS上 403
    Nginx 常用命令
    阿里云数据库Redis版 ERR invalid password
    Apollo配置中心搭建
    Gateway 访问超时 返回504
  • 原文地址:https://www.cnblogs.com/maxiaonong/p/9499849.html
Copyright © 2011-2022 走看看