文件管理 · 2022年7月25日

androidudp传文件|java中UDP文件传输怎么实现

1. 请问android用两个模拟器udp通信传输音频文件要怎么做

用socket编程是可以的,网上有

2. android基于UDP协议,能够实现断点传送吗

HTTP和UDP不支持断点续传功能,并绑定端口是3900和80。有些网站限制你只能使用单线程或者只能通过普通下载来传输,不能分块的,就只能用勾上。

3. 如何利用UDP传输文件

UDP称为用户数据报协议,在网络上属于不可靠的传输协议,意思指,数据包不管对方收不收到,不再重发,用UDP传输文件是不可靠的.

4. android UDP通讯–图片发送

PC端:

/***把照片转换成base64格式*@parampath照片路径*@return转换后的二进制照片*/privateStringgetImageStr(Stringpath){Stringbase64code=null;FileInputStreamfis=null;ByteArrayOutputStreambaos=null;Filefile=newFile(path);if(file.exists()){try{fis=newFileInputStream(path);}catch(FileNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}baos=newByteArrayOutputStream();byte[]buffer=newbyte[1024];intcount=0;try{while((count=fis.read(buffer))>=0){baos.write(buffer,0,count);}base64code=newString(Base64.encode(baos.toByteArray(),Base64.DEFAULT));}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}finally{try{fis.close();baos.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}}returnbase64code;}

android端:

/***将Base64编码转换为bitmap*@parambase64Stringbase64字符串*@return转换后的bitmap*/privateBitmapbase64ToBitmap(Stringbase64String){byte[]bytes=Base64.decode(base64String,Base64.DEFAULT);Bitmapbitmap=BitmapFactory.decodeByteArray(bytes,0,bytes.length);returnbitmap;}

拿到bitmap,任意处理

5. android下有没有udp的可靠传输库

UDT协议-基于UDP的可靠数据传输协议1. 介绍 随着网络带宽时延产品(BDP)的增加,通常的TCP协议开始变的低效。这是因为它的AIMD(additive increase multiplicative decrease)算法彻底减少了TCP拥塞窗口,但不能快速的恢复可用带宽。理论上的流量分析表明TCP在BDP增加到很高的时候比较容易受包损失攻击另外,继承自TCP拥塞控制的不公平的RTT也成为在分布式数据密集程序中的严重问题。拥有不同RTT的并发TCP流将不公平地分享带宽。尽管在小的 BDP网络中使用通常的TCP实现来相对平等的共享带宽,但在拥有大量BDP的网络中,通常的基于TCP的程序就必须承受严重的不公平的问题。这个RTT 基于的算法严重的限制了其在广域网分布式计算的效率,例如:internet上的网格计算。一直到今天,对标准的TCP的提高一直都不能在高BDP环境中效率和公平性方面达到满意的程度(特别是基于RTT的问题)。例如:TCP的修改,RFC1423(高性能扩展),RFC2018(SACK)、RFC2582(New Reno)、RFC2883(D-SACK)、和RFC2988(RTO计算)都或多或少的提高了点效率,但最根本的AIMD算法没有解决。HS TCP(RFC 3649)通过根本上改变TCP拥塞控制算法来在高BDP网络中获得高带宽利用率,但公平性问题仍然存在。考虑到上面的背景,需要一种在高BDP网络支持高性能数据传输的传输协议。我们推荐一个应用程序级别的传输协议,叫UDT或基于UDP的数据传输协议并拥有用塞控制算法。本文描述两个正交的部分,UDP协议和UDT拥塞控制算法。一个应用层级别的协议,位于UDP之上,使用其他的拥塞算法,然而这些本文中描述的算法也可以在其他协议中实现,例如:TCP。一个协议的参考实现叫[UDT];详细的拥塞控制算法的性能分析在[GHG04]中可以找到。

6. android中netty使用udp连接能发送数据,

我的也是,不知道怎么回事,在普通java工程中去连接就没问题,在android中就是连接超时

7. 5 java 如何使用udp协议传送文件

//发送端SocketSendFile.java import java.io.*; import java.net.*; public class SocketSendFile { public static final int SER_PORT=666; public static final int CLI_PORT=8484; public static final String SER_IP="192.168.0.35"; public static int bufSize = 1024; public static byte] mess = new bytebufSize]; //建立Socket引用 public static DatagramSocket dp; public static void main(String] args) throws Exception { dp = new DatagramSocket(SER_PORT); //调用构造函数SocketSendFile,并传递参数args0](所要传输的文件名) SocketSendFile(args0]); } public static void SocketSendFile(String file2) throws Exception { //定义一个计数器 int pos =0; //设置写入流 FileInputStream fis = new FileInputStream(file2); BufferedInputStream bis = new BufferedInputStream(fis); DataInputStream dis = new DataInputStream(bis); int i; do { i = dis.read(); int j=0; while (j<1024 & i != -1) { messpos++] = (byte) i; i=dis.read(); j++; } dp.send(new DatagramPacket(mess,pos,InetAddress.getByName(SER_IP),CLI_PORT)); } while (i != -1); fis.close(); } } //接收端SocketReceiveFile.java import java.net.*; import java.io.*; public class SocketReceiveFile { public static int bufSize=1024; public static byte] mess=new bytebufSize]; public static DatagramSocket dp; public static final int SER_PORT=8484; public static void main(String] args) throws Exception { dp = new DatagramSocket(SER_PORT); SocketReceiveFile(args0]); } public static void SocketReceiveFile(String file1) throws Exception { FileOutputStream fos = new FileOutputStream(file1); BufferedOutputStream bos = new BufferedOutputStream(fos); DataOutputStream dos = new DataOutputStream(bos); int i; DatagramPacket p = new DatagramPacket(mess,mess.length); while(true) { boolean j=false; while (p.getData().length != 0) { dos.write(p.getData()); dp.receive(p); j=true; } // System.out.println(new String(p.getData(),0,p.getLength())); if (j) System.out.println("文件传送完毕."); } // fos.close(); } }

8. 一个UDP传输大文件问题,在UDP发送文件的时候,

UDP是不可靠的传输协议 在传输协议时接收方会尽力而为的对发送方每一个数据包进专行应答确认 且UDP数据包传输属等级比较高 所以在同时上传和下载时会导致某些UDP数据包重复传输或超时传输 因为没有TCP类似专属开销支持 所以导致UDP数据包应答确认无误却数据损坏

9. 怎么实现udp传输一个文件

用fopen函数来建文来件,用fwrite来往文件中自写数据,用fclose来关闭文件……这跟是否用UDP没有任何关系。UDP发送数据不保证正确性,所以接收方需要验证收到的数据并且向发送方确认,才能保证正确传输。

10. java中UDP文件传输怎么实现

java UDP连接,如果要发送文件的话,你只能自己定义一系列的协议因为TCP UDP 双方发送都是二进制数据那么这个实现非常复杂得不停的发送数据,写数据,建议使用http协议