通过Java.net包建立双向通讯
文章作者 100test 发表时间 2007:07:12 11:44:00
来源 100Test.Com百考试题网
利用java.net包提供的网络能力。以有连接流通讯方式为例, 在服务器端的操作为一般为:
⑴ 创建一个ServerSocket对象,在指定端口监听客户端发来的请求。
⑵ 在接收到请求时accept()方法将返回一个Socket对象。
⑶ 用上述Socket对象创建输入、输出流对象。
⑷ 通过输入、输出流与客户交互。
⑸ 交互完毕,关闭输入、输出流与Socket。
⑹ 服务程序运行结束,关闭ServerSocket。
实现代码代码类如:
try{
boolean flag=true. Socket clientSocket=null.
ServerSocket serverSocket = new ServerSocket(0). System.out.println("Server listen on: " serverSocket.getLocalPort()).
while(flag){ clientSocket=serverSocket.accept(). DataInputStream is=new DataInputStream( new bufferedInputStream(client Socket.getInputStream())). PrintStream os=new PrintStream( new bufferedOutputStream(clientSocket. getOutputStream())). // 处理Applet请求 os.close(). is.close(). clientSocket.close(). } serverSocket.close(). }catch( IOException e){ System.err.println(" Exception: " e). } |
在客户端的操作为:
⑴ 创建Socket对象建立与服务器的连接。
⑵ 用该Socket对象创建输入、输出流。
⑶ 与服务器交互。
⑷ 交互完毕,关闭输入、输出流与Socket。
实现代码类如:
try { Socket clientSocket =new Socket("serverName",7). OutputStream os=clientSocket.getOutputStream(). DataInputStream is=new DataInputStream( clientSocket.getInputStream()) . // 其它操作. os.close(). is.close(). clientSocket.close(). }catch(Exception e){ System.err.println("Exception:" e). } |
这种方法只依赖于标准的Java网络支持,不需要用到附加的软件包或工具,因此显得相当简洁和灵活,易于实现某些特殊的需要。
src="/java/js/wxgg_java.js">