Java项目--聊天室

开发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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值