用Java编写简单的UDP网络通信程序实例

文章作者 100test 发表时间 2007:09:06 13:32:26
来源 100Test.Com百考试题网


java中封装了大量的socket API,为编写网络通信程序提供了极大的方便。

在计算机网络的学习中,大家都已熟练掌握了TCP/UDP的基本原理,在此不在赘述。仅给出接收端和发送端的源代码,供大家讨论和批评。

发送端代码如下:

//只要稍加改进,即可发送数据

import java.io.*.

import java.lang.*.

import java.net.*.

public class uclient

{

private DatagramSocket cli.

private DatagramPacket pac.

private byte sb[].

private String sen.

public uclient()

{

Init().

}

public void Init()

{

try

{

//指定端口号,避免与其他应用程序发生冲突

cli=new DatagramSocket(10002).

sb=new byte[1024].

sen="UDP方式发送数据".

sb=sen.getBytes().

pac=new DatagramPacket(sb,sb.length,InetAddress.getByName("localhost"),10005).

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 java.net.*.

public class userve

{

private DatagramSocket ser.

private DatagramPacket pac.

private byte rb[].

private String rev.

public userve()

{

Init().

}

public void Init()

{

try

{

ser=new DatagramSocket(10005).

rb=new byte[1024].

pac=new DatagramPacket(rb,rb.length).

rev="".

int i=0.

while(i==0)//无数据,则循环

{

ser.receive(pac).

i=pac.getLength().

//接收数据

if(i>0)

{

//指定接收到数据的长度,可使接收数据正常显示,开始时很容易忽略这一点

rev=new String(rb,0,pac.getLength()).

System.out.println(rev).

i=0.//循环接收

}

}

}

catch(Exception e)

{

e.printStackTrace().

}

}

public static void main(String args[])

{

new userve().

}

}



相关文章


综合辅导:如何在Linuxco ole中直接显示中文
用J 来实现文件下载功能的几种方式
怎样用J martUpload实现文件上传攻略
Java中的文件与磁盘操作技术详细解析
用Java编写简单的UDP网络通信程序实例
河南大学生下基层3年内考研初试加10分
中科院:未来5年向社会输送6万高级人才
中国科学院19日在四川举行08研招咨询会
中国科学院研究生院来汉招生万余名额全为公费
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛