基础发送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的基础发送消息,这样就成功发送了这些信息了