随笔-199  评论-203  文章-11  trackbacks-0

//服务器端
import java.net.*;
import java.io.*;

public class TestUDPServer{
 public static void main(String args[])throws Exception
 {
  byte buf[]= new byte[1024];
  //数据报包用来实现无连接包投递服务
  DatagramPacket dp = new DatagramPacket(buf,buf.length);
  //数据报套接字是包投递服务的发送或接收点
  DatagramSocket ds = new DatagramSocket(8888);
  while(true)
  {
   //从此套接字接收数据报包
   ds.receive(dp);
   ByteArrayInputStream bais = new ByteArrayInputStream(buf);
   DataInputStream dis = new DataInputStream(bais);
   //从包含的输入流中读取此操作需要的字节
   System.out.println(dis.readLong());
  }
 }
 
}

//客户端

import java.net.*;
import java.io.*;

public class TestUDPClient
{
 public static void main(String args[])throws Exception
 {
  //定义一个Long类型的数据
  long n= 10000L;
  //声明一个输出管道
  ByteArrayOutputStream baos = new ByteArrayOutputStream();
  //数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中
  DataOutputStream dos = new DataOutputStream(baos);
  //将一个 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。如果没有抛出异常,则计数器 written 增加 8。
  dos.writeLong(n);
  
  //创建一个新分配的 byte 数组。其大小是此输出流的当前大小,并且缓冲区的有效内容已复制到该数组中。
  byte[] buf = baos.toByteArray();1
  //构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。length 参数必须小于等于 buf.length。
  DatagramPacket dp = new DatagramPacket(buf,buf.length,new InetSocketAddress("127.0.0.1",8888));
  DatagramSocket ds = new DatagramSocket(6666);
  //从此套接字发送数据报包
  ds.send(dp);
  //关闭此数据报套接字
  ds.close();
  
 }
}


posted on 2009-05-17 09:29 Werther 阅读(310) 评论(0)  编辑  收藏 所属分类: 10.Java

只有注册用户登录后才能发表评论。


网站导航:
 

I'm reading...

Java 60

Head  First SQL

宝贝连接


If you need these books,pls send me emails.
Email:kunpeng.niu@163.com
<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

留言簿(10)

随笔分类(178)

随笔档案(208)

文章档案(1)

新闻档案(6)

相册

1.Java Official Website

2.Java Study Website

3.Java Technic Website

4.Java Video Website

5.Database Website

6.Bookshop Website

7.English Website

8.Friends Link

9.Other Web

积分与排名

  • 积分 - 682817
  • 排名 - 67

最新评论

阅读排行榜

评论排行榜