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
  • 相关阅读:
    hdu 5253 最小生成树
    hdu5248 序列变换
    bjfu1299 stl使用
    bjfu1277 简单递归
    bjfu1262 优先队列
    bjfu1287字符串输出的大水题
    bjfu1281
    bjfu1253 最大上升子序列和
    [转][Unity3D]引擎崩溃、异常、警告、BUG与提示总结及解决方法
    Unity3d 中 将远程 MySQL 数据库转换为本地 Sqlite
  • 原文地址:https://www.cnblogs.com/maxiaonong/p/9499849.html
Copyright © 2011-2022 走看看