java中UDP文件传输怎么实现?

java中UDP文件传输怎么实现?,第1张

java UDP连接,如果要发送文件的话,你只能自己定义一系列的协议

因为TCP UDP 双方发送都是二进制数据

那么这个实现非常复杂

得不停的发送数据,写数据,建议使用http协议

Java中封装了大量的socket API 为编写网络通信程序提供了极大的方便 在计算机网络的学习中 大家都已熟练掌握了TCP/UDP的基本原理 在此不在赘述 仅给出接收端和发送端的源代码 供大家讨论学习 发送端代码如下:import java io *import java lang *import *public class uclient{private DatagramSocket cliprivate DatagramPacket pacprivate byte *** []private String senpublic uclient(){Init()}public void Init(){try{//指定端口号 避免与其他应用程序发生冲突cli=new DatagramSocket( )*** =new byte[ ]sen= UDP方式发送数据 *** =sen getBytes()pac=new DatagramPacket( *** *** length InetAddress getByName( localhost ) )cli send(pac)}catch(SocketException se){se printStackTrace()}catch(IOException ie){ie printStackTrace()}}public static void main(String args[]){new uclient()}}接收端数据:import java io *import java lang *import *public class userve{private DatagramSocket serprivate DatagramPacket pacprivate byte rb[]private String revpublic userve(){Init()}public void Init(){try{ser=new DatagramSocket( )rb=new byte[ ]pac=new DatagramPacket(rb rb length)rev= int i= while(i== )//无数据 则循环{ser receive(pac)i=pac getLength()//接收数据if(i>){//指定接收到数据的长度 可使接收数据正常显示 开始时很容易忽略这一点rev=new String(rb pac getLength())System out println(rev)i= //循环接收}}}catch(Exception e){e printStackTrace()}}public static void main(String args[]){new userve()}} lishixinzhi/Article/program/Java/hx/201311/26023

java里UDP协议传送的方式细节已经封装了到类DatagramSocket里了,只要用DatagramSocket的对象进行传输数据就可以了.

底层实现是应该依靠本地C语言程序来完成的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11839592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存