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

Java tcp练习 返回字母大写

2017-10-26 20:01 330 查看
package p4.tcptest;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class TransClient {

public static void main(String[] args) throws IOException {
/*
* 思路:
* 客户端:
* 1需要现有socket端点
* 2 客户端的数据源:键盘
* 3 客户端的目的:socket
* 4接收服务端的数据,源:socket
* 5将数据显示在打印出来:目的:控制台
* 6在这些流中操作的数据都是文本数据
*
*
*
* 转换客户端
* 1 创建socket客户端对象
* 2 获取键盘录入
* 3 将录入的信息发送给socket输出流
*
*
*/

//1 创建socket客户端对象
Socket s=new Socket("10.194.43.59", 10004);

//2 获取键盘录入
BufferedReader bufr=
new BufferedReader(new InputStreamReader(System.in));
//3 socket输出流

//new BufferedWriter( new OutputStreamWriter(s.getOutputStream())) ;
//太麻烦 因为直接原样打印 所以用printwriter 自带刷新(true) 换行

PrintWriter out=new PrintWriter(s.getOutputStream(),true);

//4 socket输入流 读取服务端返回的大写数据
BufferedReader bufIn= new BufferedReader(new InputStreamReader(s.getInputStream()))  ;

String line=null;
while((line=bufr.readLine())!=null) {
if("over".equals(line))
break;
out.println(line);
//读取服务端发挥的一行大写数
String upperStr=bufIn.readLine();
System.out.println(upperStr);

}
s.close();
}

}


package p4.tcptest;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;

public class TransServer {

public static void main(String[] args) throws UnknownHostException, IOException {
/*
* 转换服务端
* 分析:
* 1 serversocket服务
* 2 获取socket对象
* 3 源socket 读取客户端发过来的需要转换的数据
* 4 目的:显示控制台上
* 5 将数据转成大写发给客户端
*
*/

//1 创建serversocket对象
ServerSocket ss=new ServerSocket(10004);

//2 获取socket对象
Socket s=ss.accept();

//获取ip
String ip=s.getInetAddress().getHostAddress();
System.out.println(ip+"....connect");

//3 获取socket读取流,并装饰
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));

//4 获取socket 输出流 并装饰

PrintWriter out=new PrintWriter(s.getOutputStream(),true);

String line=null;

while((line=bufIn.readLine())!=null) {
System.out.println(line);
if("over".equals(line))
break;
out.println(line.toUpperCase());
}
s.close();
ss.close();
}

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