- public static void main(String[] args) throws IOException {
- // 创建客户端连接对象s,指定服务端ip和端口
- Socket s = new Socket("127.0.0.1", 9000);
- // 使用字符缓冲区读取控制台输入的字符串
- BufferedReader bfr = new BufferedReader(
- new InputStreamReader(System.in));
- // 调用Socket方法getOutputStream方法,获取字节输出流对象out,用于发送数据;使用打印流来写入
- PrintWriter out = new PrintWriter(s.getOutputStream(), true);
- // 定义字符缓冲区,用于读取服务器返回的字符数据
- BufferedReader bfrIn = new BufferedReader(new InputStreamReader(
- s.getInputStream()));
- // 定义字符串line,用于存储缓冲区读取的每一行字符串
- String line;
- // 使用readLine方法读取每一行字符串
- while ((line = bfr.readLine()) != null) {
- // 如果控制台输入over,将信息发送后跳出循环
- if (line.equals("over")) {
- out.println(line);
- break;
- }
- // 调用println方法将控制台字符串发送给服务端
- out.println(line);
- // 将返回的字符串打印
- System.out.println("翻转后的字符串为: " + bfrIn.readLine());
- }
- // 关闭控制台字符缓冲区流对象
- bfr.close();
- // 关闭客户端连接对象
- s.close();
- // 将返回的字符串打印在控制台
- }
复制代码
以上为我写的TCPClient端,定义String line进行存储读取到的字符串时,不赋初值也可以,我想请教下大神,这是什么情况? |
|