UDP同时接收和发送数据

python进行UDP双向通信

import socket
import threading
udp=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#发送数据现场
def send():
	send_addr=("10.243.10.210",8080)
	while True:
		send_data=input("发送的数据:")
		udp.sendto(send_data.encode("utf-8"),send_addr)

thread_send=threading.Thread(target=send,args=())
thread_send.start()
#接受数据现场
def receive():
	receive_addr=("192.168.43.20",8080)
	udp.bind(receive_addr)
	while True:
		receive_data,addr=udp.recvfrom(1024)
		print("接收来自{}的数据:{}".format(addr,receive_data.decode("utf-8")))

thread_receive=threading.Thread(target=receive,args=())
thread_receive.start()

注意不能在python的IDLE使用,否则会出现不能同时收发的现象。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java实现UDP的数据接收和发送可以通过Java的DatagramSocket类来实现。以下是一个简单的示例代码: 数据发送: ```java try { // 创建DatagramSocket对象 DatagramSocket datagramSocket = new DatagramSocket(); // 要发送的数据 String data = "Hello, world!"; byte[] bytes = data.getBytes(); // 创建DatagramPacket对象,指定数据、数据长度、地址和端口号 DatagramPacket packet = new DatagramPacket(bytes, bytes.length, InetAddress.getByName("127.0.0.1"), 8888); // 发送数据 datagramSocket.send(packet); } catch (IOException e) { e.printStackTrace(); } ``` 数据接收: ```java try { // 创建DatagramSocket对象并指定端口号 DatagramSocket datagramSocket = new DatagramSocket(8888); // 创建一个字节数组用于接收数据 byte[] bytes = new byte[1024]; // 创建DatagramPacket对象,指定数据和数据长度 DatagramPacket packet = new DatagramPacket(bytes, bytes.length); // 接收数据 datagramSocket.receive(packet); // 处理接收到的数据 String data = new String(packet.getData(), 0, packet.getLength()); System.out.println("接收到的数据:" + data); } catch (IOException e) { e.printStackTrace(); } ``` 在上述代码中,通过DatagramSocket类创建了一个UDP的Socket,可以指定发送和接收的数据,以及目标地址和端口号。在发送数据时,通过DatagramPacket类创建了一个数据包,将数据、数据长度、地址和端口号都封装进去,然后通过DatagramSocket的send方法将数据包发送出去。在接收数据时,也是通过DatagramPacket类创建一个数据包,然后通过DatagramSocket的receive方法接收数据包,最后通过getData方法获取数据并进行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酸奶可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值