5***@qq.com
5***@qq.com
  • 发布:2016-11-23 16:38
  • 更新:2022-09-23 15:18
  • 阅读:4720

Android 调用DatagramSocket,实现UDP发送数据!

分类:Native.js

var DatagramSocket = plus.android.importClass("java.net.DatagramSocket");
var DatagramPacket = plus.android.importClass("java.net.DatagramPacket");
var InetAddress = plus.android.importClass("java.net.InetAddress");
var String = plus.android.importClass("java.lang.String");
var udp = new DatagramSocket();
var data = new String("测试发送数据").getBytes("gb2312");//发送中文需要指定编码
var packet = new DatagramPacket(data, data.length, InetAddress.getByName("192.168.0.255"), 1024);
udp.send(packet);
udp.close();
测试成功,至于如何接收数据,还有待实现。

2 关注 分享
7***@qq.com 天狼落星

要回复文章请先登录注册

2***@qq.com

2***@qq.com

回复 天狼落星 :
receive()这个方法会阻塞线程,请问有办法解决吗
2022-09-23 15:18
2***@qq.com

2***@qq.com

回复 天狼落星 :
大佬,这个会不会造成线程阻塞呀,我在uniapp中使用 receive()来接收,会造成线程阻塞
2022-09-21 16:59
天狼落星

天狼落星

var DatagramSocket = plus.android.importClass("java.net.DatagramSocket");
var DatagramPacket = plus.android.importClass("java.net.DatagramPacket");
var InetAddress = plus.android.importClass("java.net.InetAddress");
var String = plus.android.importClass("java.lang.String");
var udp = new DatagramSocket();
//发送
var data = new String("测试发送数据").getBytes("gb2312");//发送中文需要指定编码
var packet = new DatagramPacket(data, data.length, InetAddress.getByName("192.168.0.255"), 1024);
udp.send(packet);
//接收
var receivePacket = new DatagramPacket(data, data.length);
udp.receive(receivePacket);
var receiveData = new String(receivePacket.getData());
console.log(receiveData.toString())
udp.close();

实测有效,终于搞定了
附两个参考链接
https://www.runoob.com/w3cnote/android-tutorial-udp-socket.html

https://developer.android.google.cn/reference/kotlin/java/net/DatagramPacket?hl=en#DatagramPacket(kotlin.ByteArray,%20kotlin.Int)
2021-02-20 17:06
撇捺人生

撇捺人生

回复 AimerQAQ :
滚,哪都有你
2020-06-27 17:51
AimerQAQ

AimerQAQ

回复 2***@qq.com :
TCP-Socket通信插件:https://ext.dcloud.net.cn/plugin?id=2029
UDP-Socket通信插件:https://ext.dcloud.net.cn/plugin?id=2047
2020-06-15 12:01
2***@qq.com

2***@qq.com

接收实现了么 大佬
2020-03-29 12:04
黑礼服

黑礼服

回复 7***@qq.com :
请问这个问题怎么解决 我也遇到了
2018-07-04 11:01
9***@qq.com

9***@qq.com

回复 7***@qq.com :
楼上问一下,你那个问题怎么解决的?
2018-05-16 16:01
7***@qq.com

7***@qq.com

会报android.os.NetworkOnMainThreadException;at java.net

.DatagramSocket.send 这个错误怎么解决???
2017-07-20 14:24
5***@qq.com

5***@qq.com

也在研究怎么接收!
2017-07-05 15:58