您所在的位置:开发 > Java > 通过Java.net包建立双向通讯

通过Java.net包建立双向通讯

2007-07-05 12:56 佚名 赛迪网技术社区 字号:T | T
一键收藏,随时查看,分享好友!

本文给出了通过Java.net包建立双向通讯的实现源代码,供大家参考!

AD:

利用java.net包提供的网络能力。以有连接流通讯方式为例,在服务器端的操作为一般为:

(1)创建一个ServerSocket对象,在指定端口监听客户端发来的请求。
(2)在接收到请求时accept()方法将返回一个Socket对象。
(3)用上述Socket对象创建输入、输出流对象。
(4)通过输入、输出流与客户交互。
(5)交互完毕,关闭输入、输出流与Socket。
(6)服务程序运行结束,关闭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);
}

在客户端的操作为:

(1)创建Socket对象建立与服务器的连接。
(2)用该Socket对象创建输入、输出流。
(3)与服务器交互。
(4)交互完毕,关闭输入、输出流与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网络支持,不需要用到附加的软件包或工具,因此显得相当简洁和灵活,易于实现某些特殊的需要。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606-8007】



分享到:

  1. 程序员面试失败的几种原因,你中枪了吗?
  2. Java未来也许不再是电商的首选开发语言!

热点职位

更多>>

热点专题

更多>>

读书

Visual Studio Team Systems软件工程实践
本书论述了软件开发价值增加的思维方式。这一思维方式构成了VSTS的基础,包括VSTS的指导思想,为什么这些指导思想会以某些方式表

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院