• socket发送、接收信息----UDP


     1 # 导入套接字包
     2 import socket
     3 
     4 
     5 def welcome():
     6     print("------欢迎进入UDP聊天器--------")
     7     print("1.发送信息")
     8     print("2.接收信息")
     9     print("0.退出聊天器")
    10 
    11 def send_msg(udp_socket):
    12     dest_ip = input("请输入目标ip:")
    13     dest_port = int(input("请输入目标端口:"))
    14     send_data = input("请输入要发送的内容")
    15     # sendto(内容,(目标IP,端口))
    16     udp_socket.sendto(send_data.encode("gbk"), (dest_ip, dest_port))
    17 
    18 
    19 def recv_msg(udp_socket):
    20     # recvfrom(接收最大字节)
    21     rece_data = udp_socket.recvfrom(1024)
    22     # 要解码,不然会乱码
    23     print("%s:%s" % (rece_data[1], rece_data[0].decode("gbk")))
    24 
    25 
    26 def main():
    27     # 创建套接字对象
    28     udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    29     # 绑定端口
    30     # bing((ip,port)) bind里面是一个元组,第一个放ip 可以为空,第二个是端口
    31     udp_socket.bind(('',7788))
    32     while True:
    33         # 欢迎菜单
    34         welcome()
    35         # 选择功能
    36         op = input("请输入想要执行的命令:")
    37         if op == "1":
    38             # 发送信息
    39             send_msg(udp_socket)
    40         elif op == "2":
    41             # 接收信息
    42             recv_msg(udp_socket)
    43         elif op == "0":
    44             break
    45         else:
    46             print("请选择正确的指令:")
    47     # 关闭套接字
    48     udp_socket.close()
    49 
    50 if __name__ == '__main__':
    51     main()
  • 相关阅读:
    习题2-7
    习题2-6
    习题2-5
    习题2-4
    习题2-3
    作业二 分支循环结构
    2- 8
    实验三-计算圆柱体积
    实验三-计算n个圆柱体体积
    实验3-计算圆面积
  • 原文地址:https://www.cnblogs.com/yifengs/p/11371975.html
Copyright © 2020-2023  润新知