Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1529475
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 19:34:59

一起学习
重复和并发服务器 所有的这些调用都可以掷出一个UnknownHostException违例.如果一台计算机没有连接上DNS服务器,或者主机的确没有找到,这个违例就会被掷出.如果一台计算机没有一个激活的TCP/IP配置,getLocalHost()也为失败并掷出一个违例. 一旦一个地址被确定了,数据报就可以被送出了.下面的程序传输了一个字符串给目的socket: String toSend = "This is the data to send!"); byte[] sendbuf = new byte[ toSend.length() ]; toSend.getBytes( 0, toSend.length(), sendbuf, 0 ); DatagramPacket sendPacket = new DatagramPacket( sendbuf, sendbuf.length, addr, port); clientSocket.send( sendPacket ); 首先,字符串必须被转换成一个字节数组.然后,一个新的DatagramPacket实例必须被建立.注意构建器的最后两个参数.因为要发送一个包,所以地址和端口必须被给定.一个applet可能可以知道它的服务器的地址,但是服务器如何知道它的客户机的地址呢.当任何一个包被收到后,返回的地址和端口会被解压出来,并通过getAddress()和getPort()方法得到.这就是一个服务器如何回应一个客户端的包: DatagramPacket sendPacket = new DatagramPacket( sendbuf, sendbuf.length, recvPacket.getAddress(), recvPacket.getPort() ); serverSocket.send( sendPacket ); 不像面向连接的操作,数据报服务器服务器其实比数据报客户端更简单: 数据报服务器 一个数据报服务器的基本步骤: 1.在一个指定的端口上建立一个数据报socket. 2.用receive方法等待进来的包. 3.用特定的协议来回应收到的包. 4.回到第二步或继续第二步. 5.关闭数据报socket. 列表9.3演示了一人简单的数据报回应服务器.它将回应它收到的包. 列表9.3.一个简单的数据报回应服务器 import java.io.*; import java.net.*; public class SimpleDatagramServer { public static void main(String[] args) { DatagramSocket socket = null; DatagramPacket recvPacket, sendPacket; try { socket = new DatagramSocket(4545); while (socket != null) { recvPacket= new DatagramPacket(new byte[512], 512); socket.receive(recvPacket); sendPacket = new DatagramPacket( recvPacket.getData(), recvPacket.getLength(), recvPacket.getAddress(), recvPacket.getPort() ); socket.send( sendPacket ); } } catch (SocketException se) { System.out.println("Error in SimpleDatagramServer: " se); } catch (IOException ioe) { System.out.println("Error in SimpleDatagramServer: " ioe); Java Socket编程之一 Java Socket编程之二 Java Socket编程之三 Java Socket编程之四 Java Socket编程之五 下载本文示例代码


Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四Java Socket编程之四
阅读(170) | 评论(0) | 转发(0) |
0

上一篇:Java通讯程序一例

下一篇:Java Socket编程

给主人留下些什么吧!~~