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
  • 相关阅读:
    使用Ansible连接AWS EC2
    centos7 常用工具包安装
    基于redis的分布式ID生成器
    使用Docker的macvlan为容器提供桥接网络及跨主机通讯
    小程序使用腾讯视频
    切换 Python2 Python3
    PHP字符串替换
    小程序常用操作,if,for,跳转,弹出提示
    小程序订单核销的思路
    PHP 批量删除的实现
  • 原文地址:https://www.cnblogs.com/maxiaonong/p/9499849.html
Copyright © 2011-2022 走看看