您的位置:首页 > 理论基础 > 计算机网络

Tcp实现简单的大小写转换功能

2016-03-20 10:59 225 查看
有这样一个需求:

客户端给读物段发送文本,服务端会将文本转换为大写再返回客户端

而且客户端可以不断的进行文本转换,当客户端输入over时,转换结束。

分析:

既然是操作设备上的数据,那么久可以使用io技术,并按照io的操作规律来思考

源:键盘录入

目的:网络设备、网络输出流

而且操作的是文本数据,可以选择字符流

//客户端实现:

package com.shindo.java.tcp;
import java.io.*;
import java.net.*;
/**
* 服务端
* 流:Socket读取流
* 目的:Socket输出流
* 都是文本装饰
*/
public class TransServer {
public static void main(String[] args){
try {
//获取客户端对象
ServerSocket ss = new ServerSocket(11013);
Socket s = ss.accept();

//打印请求进来的客户端对象
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + "...... is connected");

//读取Socket读取流中的数据
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));

//目的Socket输出流,将大写数据写入Socket输出流,发给客户端
//方法1:
//            BufferedWriter bufOut = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));

//方法2:第二个参数为自动刷新的标志,true为自动刷新
PrintWriter out = new PrintWriter(s.getOutputStream(),true);

String line = null;
while((line = bufIn.readLine())!= null){
//打印客户端发送过来的数据
System.out.println(line);

//将数据转换为大写,然后发送给客户端
//方法1:
//                bufOut.write(line.toUpperCase());
//                bufOut.newLine();
//                bufOut.flush();

//方法2:
out.println(line.toUpperCase());

s.close();
ss.close();
}

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

}
}


View Code

效果如图:

客户端:



服务端:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: