开发ING...........................
由于直接入手项目,在开始的时候我先通过一个简单的服务器和客户端的连接来入手。
知识储备:
模型 :客户端---------Socket------------服务器端
首先我们要记住一个概念,那就是数据是在串流中移动。所以我们得明白在我们进行客户端,Socket,服务器的数据传输时,是得先获取输入串流和输出串流。
得到 输入输入串流的方法为getInputStream()
输出串流的方法为getOutputStream()
那么什么时候需要得到输入/输出串流呢?这是以Socket来判断:
当从某一端发出数据到Socket,那么此时应该采用Out方法
某一端从Socket读取数据时,就是In方法
这完全取决于你目前所设计的端口对Socket采取什么样的操作方式
那么搭建这个框架的模式
你得从客户端+Socket的角度去看把客户端搭建
再从服务器端+Socket的角度去看把服务器搭建,这样才能把框架搭建完毕
而不能一开始从全局的角度去看。这样你会搞不清什么时候用getInputStream( )和getOutputStream( );
那么我们知道客户端,服务器端都是要输出输入的,但是只有客户端需要把两个方法(即输出串流+输入串流)都用上,而服务器端通过accept()这个方法就能够接收(输入串流)数据,输出只要用上getOutputStream( )即可
即客户端:-----getOutputStream------>Socket 服务器端:<-----accept()---------Socket
<-----getInputSream----------Socket -------getOutputStream---->Socket
BufferedReader从Socekt读取数据,PrintWriter写数据到Socekt
未完待续。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
程序中可能出现有疑惑的地方:
1.socket!=null
通信结束了 但是如果socket没关 那么socket就是不等于null的
而如果socket==null的话 一旦执行close方法就会抛异常 所以需要确保socket!=null