java怎么和控制台对话_关于 JAVA的控制台聊天程序

package chen.chat;

import java.io.*;

import java.net.*;publicclassServer

{publicstaticvoidmain(String [] agrs)

{try{

ServerSocket server=newServerSocket(4000);

System.out.println("服务器开启");while(true)

{

Socket client=server.accept();try{

System.out.println("客户已经连接到服务器

222530190136c9c4cfd237cc0d5cff99.png");

System.out.println("IP:"+client.getInetAddress().getHostAddress()+"Port:"+client.getPort());newServerThread(client).start();

}catch(Exception e)

{

e.printStackTrace();

}

}

}catch(IOException e)

{

e.printStackTrace();

}

}

}classServerThread extends Thread

{privateSocket client ;privateBufferedReader bfSystemInput;privateBufferedReader bfSocketInput;privatePrintWriter outer;publicServerThread(Socket socket)

{try{this.client=socket;this.bfSystemInput=newBufferedReader(newInputStreamReader(System.in));this.bfSocketInput=newBufferedReader(newInputStreamReader(this.client.getInputStream()));this.outer=newPrintWriter(this.client.getOutputStream());

}catch(IOException e)

{

e.printStackTrace();

}

}publicvoidrun()

{

ListernerSystem lstSocket=newListernerSystem(this.bfSocketInput);

ListenerSystem lstSystem=newListenerSystem(this.bfSystemInput,this.outer);

lstSocket.start();

lstSystem.start();

}

}classListernerSystem extends Thread

{privateBufferedReader bfSocketInput;publicListernerSystem(BufferedReader bf)

{this.bfSocketInput=bf;

}publicvoidrun()

{while(true)

{

String msg=null;try{if((msg=bfSocketInput.readLine())!=null)

{

System.out.println("Your friend say:"+msg);

}else{

System.out.println("dsa");

}

}catch(IOException e)

{

e.printStackTrace();

}

}

}

}classListenerSystem extends Thread

{privateBufferedReader bfSystemInput;privatePrintWriter outer;publicListenerSystem(BufferedReader bf,PrintWriterout)

{this.bfSystemInput=bf;this.outer=out;

}publicvoidrun()

{while(true)

{try{

String msg=null;if((msg=bfSystemInput.readLine())!=null)

{this.outer.println("You Say:"+msg);

}else{

System.out.println("dsa");

}

}catch(IOException e)

{

e.printStackTrace();

}

}

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值