用java.net包建立双向通讯
2007-06-05 11:04
190 查看
利用[b]java[/b].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网络支持,不需要用到附加的软件包或工具,
因此显得相当简洁和灵活,易于实现某些特殊的需要。
[b]来自:http://www.javah.net/wangluobiancheng/20070605/2330.html[/b]
在服务器端的操作为一般为:
⑴ 创建一个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网络支持,不需要用到附加的软件包或工具,
因此显得相当简洁和灵活,易于实现某些特殊的需要。
[b]来自:http://www.javah.net/wangluobiancheng/20070605/2330.html[/b]
相关文章推荐
- 用java.net包建立双向通讯
- 用java.net包建立双向通讯
- 用java.net包建立双向通讯
- 用java.net包建立双向通讯
- 用java.net包建立双向通讯
- 通过Java.net包建立双向通讯
- asp.net与javacript之间的通讯
- 利用java在服务器和客服端建立连接,进行通讯(代码实例)
- Java-----TCP/UDP-----简单双向通讯
- f新群建立望加入讨论 elx java .net . 数据库...新群建立望加入讨论61436264
- 给datagrid控件建立稳固的双向排序(asp.net)
- 给datagrid控件建立稳固的双向排序(asp.net)
- java建立双向链表,插入结点,删除节点
- 建立连接时抛java.net.BindException: Cannot assign requested address: no further
- felx java .net . 数据库...新群建立望加入讨论61436264
- wcf net.tcp 双向通讯
- winform+wcf(netTcpBinding)双向通讯 自定义用户名密码验证
- 给datagrid控件建立稳固的双向排序(asp.net)
- java.net.SocketException(permission denied)安卓端写的TCP协议软件报错 原因是建立的套接字没有限权对外连接。
- Java & .Net通讯问题