python:socket基础操作(2)-《udp发送信息》

news/2024/5/18 14:09:09 标签: udp, 网络协议, 网络, python

基础发送udp信息 

1.导入socket模块

2.使用udp模块

3.发送内容

4.关闭套接字

很简单的4步就可以实现udp的消息发送

import socket
# 导入模块

udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# 使用ipv4  udp协议

udp_socket.sendto(b"hello world",("192.168.6.150",1234))
# 要发送的内容,他的目标ip+端口号

udp_socket.close()
#关闭套接字

 相信你都看socket了,python里的小知识点肯定是学习过了,我这里就不做过多的介绍

当我执行了代码,自动就会发送到我的win7上

注意:win7开了哪个端口要对指定的端口发信息才行,发到别的上面是不行的

 非常简单


手动输入想发送的信息

想通过input输入内容,让后再发送过去,也是可以的

import socket

udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)


socket_send = input("请输入要发送的数据:")
# 交互式输入要发送的内容

udp_socket.sendto(socket_send.encode("utf-8"),("192.168.6.150",1234))
# 发送变量内容使用encode("utf-8") “utf-8编码”

udp_socket.close()

这里我发送了个“abcde”

这边也是成功接收


循环发送信息

每次发送完信息都会自动结束,我们只需要加个while语句就可以循环发送信息了

import socket

udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)


while True:
    # 使程序一直循环,一直可以发送内容

    socket_send = input("请输入要发送的数据:")


    udp_socket.sendto(socket_send.encode("utf-8"),("192.168.6.150",1234))

udp_socket.close()

发现可以循环发送了

这边也可以进行一个循环的接收


循环发送信息-可手动结束

刚刚我们确实是可以循环发送信息了,但是想终止发送只能去结束代码,可是在正常情况下,我们必须要去正常的结束这个,可以加个if语句判断一下

import socket
udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)



while True:
    socket_send = input("请输入要发送的数据:")

    if socket_send == "exit":
        #当检测到exit时则结束循环
        break
    udp_socket.sendto(socket_send.encode("utf-8"),("192.168.6.100",1234))

udp_socket.close()

当检测到exit程序就正常的结束了

 

这样就是udp的基础发送消息,这样就成功发送了这些信息了 


http://www.niftyadmin.cn/n/5340748.html

相关文章

数据结构实验4:二叉树的基本操作

一、问题描述 运用二叉链表实现二叉树的基本操作,包括:创建二叉树的存储结构、复制已有的二叉树、计算已有的二叉树的深度、先根序序列、中根序序列、后根序序列等。 输入格式:AB#C##D## 二、实验目的 掌握二叉链表及二叉树的基本操作。 …

什么是美颜SDK:解密视频美颜SDK背后的图像处理算法

美颜SDK是一种集成到应用程序中的工具包,能够通过图像处理算法实时改善或修改用户的面部外观。在本文中,我们将深入探讨美颜SDK的基本概念,并解密其背后的图像处理算法。 一、美颜SDK的基本概念 美颜SDK的应用范围广泛,涵盖了视…

OpenCV图像变换操作

OpenCV图像变换 图像缩放: img cv2.imread("image.png") # 宽100像素、高100像素的大小进行缩放 dst cv2.resize(img, (100, 100))按比例缩放: # 将宽缩小到原来的1/3、高缩小到原来的1/2 dst cv2.resize(img, None, fx1 / 3, fy1 / 2) #…

苹果眼镜(Vision Pro)的开发者指南(3)-【3D UI SwiftUI和RealityKit】介绍

为了更深入地理解SwiftUI和RealityKit,建议你参加专注于SwiftUI场景类型的系列会议。这些会议将帮助你掌握如何在窗口、卷和空间中构建出色的用户界面。同时,了解Model 3D API将为你提供更多关于如何为应用添加深度和维度的知识。此外,通过学习RealityView渲染3D内容,你将能…

Vector容器的详细介绍

一、vector基本概念 1.1 功能: -vector 数据结构和数组非常相似,也称单端数组 1.2 vector与普通数组区别: - 不同之处在于数组是静态空间,而vector可以动态拓展 1.3 动态拓展: 并不是在原空间之后续接新空间&#xff…

k8s集群异常恢复

前提、我自己的k8s采用的是单master节点两个从节点部署,我针对单master情况进行恢复说明 场景一:正常开关虚拟机,可直接重启kubelet进行恢复 1、1、一般重启后三个节点都需要检查,输入命令检查kubelet: systemctl s…

React Router v6 改变页面Title

先说正事再闲聊 1、在路由表加个title字段 2、在index包裹路由 3、在App设置title 闲聊: 看到小黄波浪线了没 就是说默认不支持title字段了 出来的提示, 所以我本来是像下面这样搞的,就是感觉有点难维护,就还是用上面的方法了 …

R基础语法

1.变量 命名规则: R语言中变量可以由字母,数字以及点号.或下划线_组成。以字母或点开头。不能以数字开头。一些特殊的符号不能在名称中出现,如%,$等。区分大小写,如name和Name是两个变量。 可用名称不可用名称a1tri…