为了账号安全,请及时绑定邮箱和手机立即绑定

我按视频上的内容输入代码,可是客户端获取服务端发送的消息时,一直在打印,没有停下来


package com.imooc;


import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.PrintWriter;

import java.net.Socket;

import java.net.UnknownHostException;

http://img1.sycdn.imooc.com//576621960001814513660765.jpg

/*

 * 客户端

 */

public class Client {

public static void main(String[] args) {

try {

// 创建一个Scoket对象,指明要链接的服务器地址和端口。

Socket socket = new Socket("localhost", 8888);

// 获取输出流向服务器发送信息;

OutputStream os = socket.getOutputStream();// 获取字节输出流

PrintWriter pw = new PrintWriter(os);// 讲输出流包装成打印流


pw.write("客户端说:哼,小家伙我来了,看你往哪跑!以后你也可以把我换成输入的密码哦");

pw.flush();

socket.shutdownOutput();

// 3.获取输入流

InputStream is = socket.getInputStream();

BufferedReader br = new BufferedReader(new InputStreamReader(is));

String c = br.readLine();

while (c != null) {// 循环读取服务器发送的信息

System.out.println("后面是从服务器发过来的消息" + c);

}

// 关闭资源

socket.shutdownInput();


br.close();

is.close();

// 关闭输出流

pw.close();

os.close();

socket.close();

} catch (UnknownHostException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

} catch (IOException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}


}

}


正在回答

2 回答

在while里面添加一句:c = br.readLine();

while (c != null) {// 循环读取服务器发送的信息

System.out.println("后面是从服务器发过来的消息" + c);

c = br.readLine();

}


0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5766221a0001b5f303760433.jpg控制台的内容

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我按视频上的内容输入代码,可是客户端获取服务端发送的消息时,一直在打印,没有停下来

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信