JAVA基础--关于Socket编程中的I/O阻塞
来源:互联网 发布:软件无线电 军用 编辑:程序博客网 时间:2024/05/22 02:09
Server.java
public class Server { public static void main(String[] args) { new Server().start(); } private void start() { ServerSocket ss = null; try { ss = new ServerSocket(9999); Socket s = ss.accept(); //阻塞-1 InputStream is = s.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); System.out.println(br.readLine()); //br.readLine()也会阻塞-2 } catch (Exception e) { e.printStackTrace(); } finally { if (ss != null) { try { ss.close(); }catch(Exception e) { e.printStackTrace(); } } } }}
Client.java
public class Client { public static void main(String[] args) { Socket s = null; try { s = new Socket("127.0.0.1" , 9999); //对应阻塞-1 BufferedWriter br = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); //对应阻塞-2,如果不向套接字写入数据,server的br.readLine()会一直阻塞直到客户端数据的到来,这就是I/O阻塞 br.write("hello , server"); br.flush(); } catch (IOException e) { e.printStackTrace(); }finally { if (s != null) { try { s.close(); }catch(Exception e) { e.printStackTrace(); } } } }}
如果服务器接收数据代码是这样的:
while((s = br.readLine()) != null) { ......}
注:这时如果客户端不闭关连接,并且服务器端是一次性将数据写入磁盘话,那么服务器会一直停在br.readLine()这个地方,数据永远也不会写入磁盘中!
阅读全文
0 0
- JAVA基础--关于Socket编程中的I/O阻塞
- C++ socket编程基础五(I/O - 同步,异步,阻塞,非阻塞 )
- I/O模式及SOCKET编程中的阻塞/非阻塞模式
- I/O模式及SOCKET编程中的阻塞/非阻塞模式
- I/O模式及SOCKET编程中的阻塞/非阻塞模式
- socket编程中的阻塞和非阻塞 以及 I/O复用总结
- 关于:socket阻塞、非阻塞,同步、异步、I/O模型
- 关于:socket阻塞、非阻塞,同步、异步、I/O模型
- 关于:socket阻塞、非阻塞,同步、异步、I/O模型
- socket编程中的I/O模型
- Java Socket 通信(同步阻塞式I/O)
- 一步一步android(16):关于socket编程(2)【以非阻塞I/O服务器及Service为例】
- I/O Socket编程
- Socket Java I/O Socket I/O
- Java网络编程(31):非阻塞I/O简介
- socket阻塞与非阻塞,同步与异步、I/O模型(c语言,java可以借鉴)
- java socket通信I/O阻塞>多线程实现非阻塞通信
- C++ socket编程基础四(I/O多路复用)
- 温习SSIS2008 DataFlow
- 数据结构实验之图论二:图的深度遍历
- C#算法系列(6)——归并排序
- Todo List
- 分享前端面试中被问到的几个问题
- JAVA基础--关于Socket编程中的I/O阻塞
- 1031. 查验身份证(15) PAT乙级真题
- map
- 排列问题-c语言代码实战
- MyEclipse下Maven的安装配置
- [bzoj1019]:[SHOI2008]汉诺塔
- 【贪心算法】田忌赛马问题代码和注释
- 二叉树的应用——表达式树的原理分析与实现(Java语言)
- http://www.cnblogs.com/hadoop-dev/p/6908660.html