zoukankan      html  css  js  c++  java
  • python3 UDP协议下的socket

    ---------------------------------------udp_server.py---------------------------------------
    
    # coding:utf-8
    import socket
    
    udp_server = socket.socket(type=socket.SOCK_DGRAM)  # 创建socket对象,DGRAM:datagram 数据报文,UDP协议通信
    ip_port = ("127.0.0.1", 8001)
    udp_server.bind(ip_port)  # 绑定IP和端口号
    from_client_msg, client_addr = udp_server.recvfrom(1024)  # 接收来自客户端的消息
    print("来自客户端的消息:", from_client_msg.decode("utf-8"))
    server_input = input(">>>: ").strip()
    udp_server.sendto(server_input.encode("utf-8"), client_addr)  # 给客户端发送消息
    udp_server.close()  # 关闭连接
    
    
    ---------------------------------------udp_client.py---------------------------------------
    
    # coding:utf-8
    import socket
    
    udp_client = socket.socket(type=socket.SOCK_DGRAM)  # 创建socket对象,DGRAM:datagram 数据报文,UDP协议通信
    ip_port = ("127.0.0.1", 8001)
    client_input = input(">>>: ").strip()
    udp_client.sendto(client_input.encode("utf-8"), ip_port)  # 给服务端发送消息
    from_server_msg, server_addr = udp_client.recvfrom(1024)  # 接收来自服务端的消息,最大为1024B
    print("来自服务端的消息:", from_server_msg.decode("utf-8"))
    udp_client.close()  # 关闭连接
    
    
    UDP练习的需求是这样的:
    1、服务端需要提供的服务有:接收消息(时间格式的字符串)、将我的本地的时间转换成接收到的消息的格式(也就是个时间格式的字符串)、发回给客户端。
    2、客户端自行想一下怎么写。
    
    ---------------------------------------practice_udp_server.py---------------------------------------
    
    # coding:utf-8
    import socket
    import time
    
    udp_server = socket.socket(type=socket.SOCK_DGRAM)
    ip_port = ("127.0.0.1", 8001)
    udp_server.bind(ip_port)
    from_client_msg, addr = udp_server.recvfrom(1024)
    print("来自客户端的消息:", from_client_msg.decode("utf-8"))
    udp_server.sendto(time.strftime("%Y-%m-%d %X").encode("utf-8"), addr)
    udp_server.close()
    
    
    ---------------------------------------practice_udp_client.py---------------------------------------
    
    # coding:utf-8
    import socket
    
    udp_client = socket.socket(type=socket.SOCK_DGRAM)
    ip_port = ("127.0.0.1", 8001)
    client_input = input("格式化时间: ").strip()
    udp_client.sendto(client_input.encode("utf-8"), ip_port)
    from_server_msg, addr = udp_client.recvfrom(1024)
    print("来自服务端的消息:", from_server_msg.decode("utf-8"))
    udp_client.close()
  • 相关阅读:
    P1604&P1601
    【USACO OPEN 10】hop
    [usaco2008feb_gold]路面修整
    bzoj1016: [JSOI2008]最小生成树计数
    bzoj1015: [JSOI2008]星球大战starwar
    bzoj1014: [JSOI2008]火星人prefix
    [bzoj3223]文艺平衡树
    bzoj3224: Tyvj 1728 普通平衡树
    bzoj1012: [JSOI2008]最大数maxnumber
    P3369 【模板】普通平衡树 (splay 模板)
  • 原文地址:https://www.cnblogs.com/lilyxiaoyy/p/10927264.html
Copyright © 2011-2022 走看看