小编Fer*_*ira的帖子

哪种是按顺序发送大型UDP数据包的最佳方法

我有一个Android应用程序,需要每100毫秒通过协议UDP发送数据.每个UDP数据包平均有15000字节.数据包以广播形式发送

下面每100毫秒行都会循环一次.

DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, broadcast, 9876); 
clientSocket.send(sendPacket);
Run Code Online (Sandbox Code Playgroud)

应用程序开始正常工作,但在大约1分钟后,接收到的数据包的频率会降低,直到数据包没有到达目的地.

UDP数据包的最大大小的理论限制(在Windows上)为65507字节

我知道网络的媒体MTU是1500字节,当我发送一个更大的数据包时,它被分成几个片段,如果一个片段没有到达目的地,整个包就会丢失.

我不明白为什么在最初的1分钟内数据包被正确发送,一段时间后数据包不再到达.所以我想知道解决这个问题的最佳方法是什么?

java sockets networking android udp

5
推荐指数
1
解决办法
1万
查看次数

从字节数组创建java.awt.Image

我正在使用以下代码将来自android设备的位图转换为字节数组,并通过UDP发送给Java SE应用,它运行良好,我的问题是如何将此字节数组转换为java.awt.Image。

Bitmap bmp = intent.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
Run Code Online (Sandbox Code Playgroud)

在Android中,我可以做类似的事情

ImageView myImg = (ImageView) findViewById(R.id.img_view);
myImg.setImageBitmap(BitmapFactory.decodeByteArray(bytSig, 0, bytSig.length))
Run Code Online (Sandbox Code Playgroud)

java android stream

4
推荐指数
1
解决办法
3177
查看次数

标签 统计

android ×2

java ×2

networking ×1

sockets ×1

stream ×1

udp ×1