因为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/26023java里UDP协议传送的方式细节已经封装了到类DatagramSocket里了,只要用DatagramSocket的对象进行传输数据就可以了.
底层实现是应该依靠本地C语言程序来完成的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)