qq_十指紧扣_0
2015-06-18 10:22
怎样使客户端能向服务端不停的发送一条又一条的信息呢,做一个线程,然后用一个循环
while(true){
PrintWriter pw =new PrintWriter(os);//将输出流装为打印
if(clienting!=null) {
pw.write(clienting);
pw.flush(); }
//pw.close();
}
可是这样的话,必须要在pw.flush在后面加pw.close();可是这样的话只能服务端只接受一条信息,为什么呢?
或者老师有什么好的方法吗
服务器端:
while(true){ BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); String mess = br.readLine(); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); String str = "服务器接收到的信息为:>>"+mess+"\n"; bw.write(str); bw.flush(); }
客户端:
Scanner scanner = new Scanner(System.in); while(true){ System.out.println("请输入发送消息内容:"); bw.write(scanner.nextLine()+"\n"); bw.newLine(); bw.flush(); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); //读取服务器返回的消息数据 System.out.println(s.getInetAddress().getLocalHost()+":"+s.getPort()+">>"+br.readLine()); }
Java Socket应用---通信是这样练成的
125006 学习 · 596 问题
相似问题