java TCP实现聊天

来源:互联网 发布:ubuntu 安装php7 编辑:程序博客网 时间:2024/05/22 16:42
服务端的代码
    public classServlet {

    publicstatic void main(String[] args) {
       try {
         ServerSocket  serverSocket=null;
          
         serverSocket=new ServerSocket(4567);
         System.out.println("服务器打开在端口4567等待");
         while(true)
          {
         Socket socket=serverSocket.accept();  //监听端口并获取套接字Socket
          newThread(new ThreadTest(socket)).start();
          }

       } catch(Exception e) {
         e.printStackTrace();
       }
    }

}
class  ThreadTest  implements Runnable
{
   private Socket   socket;
   public  ThreadTest(Socket socket)
    {
      
      this.socket=socket;
    }
    public voidrun() {
       try {
         
      
      BufferedReader   br=newBufferedReader(newInputStreamReader(socket.getInputStream())); //输出客户端发过来的数据
      BufferedReader   bw=new BufferedReader(newInputStreamReader(System.in));   //往控制台输入信息
      
      PrintWriter     pw=newPrintWriter(socket.getOutputStream());       //向客户端写入数据
      while(true)
       {
       System.out.println("客户端(IP地址是)"+socket.getInetAddress().getHostAddress()+":"+socket.getPort()+"发来"+br.readLine());
       String   lineString=bw.readLine();
       if(!lineString.equals("bye"))
       {
         
          System.out.println("服务端输入"+lineString);
          
          pw.println(lineString);
          pw.flush();

       }
       else {
            pw.println(lineString);
            pw.flush();
            bw.close();
             pw.close();
             br.close();
          System.out.println("服务器断开...");
       }
      
       }
       
       } catch(Exception e) {
          // TODO:handle exception
       }
      
    }

      
   
   
}
客户端的代码
public class Clinet {


    publicstatic void main(String[] args) throws IOException {
      
      Socket   socket =null;
       try {
          socket=newSocket("localhost",4567);
         System.out.println("客户端打开");
       } catch(UnknownHostException e) {
         
         e.printStackTrace();
       } catch(IOException e) {
         
         e.printStackTrace();
       }

      BufferedReader   bu=newBufferedReader(newInputStreamReader(System.in));  //客户端输入数据
      PrintWriter   pw=newPrintWriter(socket.getOutputStream());              //向服务端写入数据
      BufferedReader   bi=newBufferedReader(new InputStreamReader(socket.getInputStream())); //获取服务端的数据

      //System.out.println("客户端输入"+bu.readLine());
      while(true)
       {
       StringlineString=bu.readLine();  //获取服务端的数据
      if(!lineString.equals("bye"))
       {
         //System.out.println("客户端输入"+lineString);
         
         //向服务端输入数据
         pw.println(lineString);
         pw.flush();
         //在获取控制台的数据
         System.out.println("服务端回复我........"+bi.readLine());
         

       }
       else {
          pw.println(lineString);
          pw.flush();
          bu.close();
          pw.close();
          bi.close();
         System.out.println("客户端断开");
       }
       }
      
      
    }
效果图
    java <wbr>TCP实现聊天
                                  
java <wbr>TCP实现聊天
       
                
                                         
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吉他琴头旋钮将琴头扭坏了怎么办? 1岁幼儿不爱吃饭怎么办 3岁幼儿不爱吃饭怎么办 4岁幼儿不爱吃饭怎么办 买票买了点映 怎么办 一年级孩子注意力不集中怎么办 孩子上一年级注意力不集中怎么办 普宁二中初一新生住宿怎么办 小学入学普查错过了怎么办 初一的孩子不爱学习怎么办 初一孩子出现厌学情况怎么办 客人要求我们代办事项时怎么办 客人要求我们代办事项应该怎么办 想家了特别想哭怎么办 把友谊看得太重怎么办 高一新生数学差怎么办 如果好朋友觉得你成熟阴暗怎么办 被同学抓住把柄敲诈怎么办 初一学生字写的不好怎么办 初二学生字写不好怎么办 宝宝流鼻涕怎么办最简单方法 论文查重中参考文献重复率高怎么办 表格里一行字多怎么办 写作文没有拿稿纸怎么办? 纬创面试英语差怎么办 wifi只有两个人连很差怎么办 孩子写作文老是离体怎么办 高一语文阅读理解不好怎么办 80后90后中国怎么办 小学生毕业了班级家长微信群怎么办 ppt做了没保存怎么办 在中考中作文写在抄镐纸上怎么办 ppt格式刷隐藏了怎么办 ps卡住不动弹了怎么办 画图工具压缩完照片后有白边怎么办 穿滑校服就想自慰怎么办 绿地球叶子变干怎么办 有异物掉入眼中怎么办 有异物掉入眼中应怎么办 有异物掉入眼睛怎么办 空调出风口掉入异物怎么办?