zoukankan      html  css  js  c++  java
  • python实现的udp-收发聊天器

    构建思想:创建三个函数,最后一个函数调用前两个

    1.创建发送函数-send()

    2.创建接收函数-recv()

    3.创建调用函数(主函数)-main()

    import socket
    
    
    def send(udp_socket):
        """创建从键盘接收的信息"""
        msg = input("
    请输入要发送的数据:")
        """键盘输入ip"""
        destip = input("
    请输入对应的ip:")
        """键盘输入port"""
        destport = int(input("
    请输入对应的port:"))
        """发送数据"""
        udp_socket.sendto(msg.encode("utf-8"), (destip, destport))
    
    
    def recv(udp_socket):
        """接收数据"""
        recv_data = udp_socket.recvfrom(1024)
        """解码数据"""
        recvip = recv_data[1]
        recvmsg = recv_data[0].decode("gbk")
        """格式化打印数据"""
        print("%s:%s", (str(recvip), recvmsg))
    
    
    def main():
        """创建套接字"""
        udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        """对端口号进行绑定"""
        udp_socket.bind(("", 7878))
        """循环实现相应的功能"""
        while True:
            print("-" * 30)
            print("1:发送信息")
            print("2:接收信息")
            print("exit:关闭运行")
            print("-" * 30)
            op_num = input("请输入相应的功能模块:")
            if op_num == "1":
                send(udp_socket)
            elif op_num == "2":
                recv(udp_socket)
            elif op_num == "exit":
                break
            else:
                print("输入错误,请重新输入")

    实现结果如下:

    开始运行界面

     

    实现功能:发送信息

    实现功能:接收信息

  • 相关阅读:
    Jsoup系列学习(1)-发送get或post请求
    使用httpclient发送get或post请求
    charles 抓取eclipse中的请求
    springmvc学习资料整理
    springmvc和struts2的区别
    Linux常用命令
    Sql Server 2008R2 数据库发布与订阅
    jquery 父、子页面之间页面元素的获取,方法的调用
    封装ajax
    Maven 的安装配置
  • 原文地址:https://www.cnblogs.com/mengxinfeng/p/12545533.html
Copyright © 2011-2022 走看看