·您的位置: 首页 » 资源教程 » 编程开发 » JAVA、JSP » 用java编写简单UDP网络通信程序

用java编写简单UDP网络通信程序

类别: JAVA教程  评论数:0 总得分:0

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();
 }
}




-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1