TCP客户端和服务端的通信,通过服务端将客户端的小写字母转化成大写发送回来

来源:互联网 发布:mac app store打不开 编辑:程序博客网 时间:2024/06/01 23:41
import java.io.*;
import java.net.*;
public class TCPServerUpper {

public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
ServerSocket ss=new ServerSocket(10006);
Socket s=ss.accept();

System.out.println(s.getInetAddress().getHostAddress()+"...connected");

//获取socket读取流,包装成buffer
BufferedReader bufr=new BufferedReader(
new InputStreamReader(s.getInputStream()));

//目的:socket输出流,将大写写入到socket输出流 ,发给客户端
BufferedWriter bufw=new BufferedWriter(
new OutputStreamWriter(s.getOutputStream()));

String line=null;
while((line=bufr.readLine())!=null){
bufw.write(line.toUpperCase());//换成大写 传给客户端,客户端那边在read等着
bufw.newLine();
bufw.flush();
}
ss.close();

}


}




import java.io.*;
import java.net.*;
/**
 * 键盘录入
 * 传给服务端
 * @author Matthew
 *
 *1.建立服务
 *2.获取键盘录入
 *3.数据发给客户端
 *4获取服务端的大写数据
 *5.关闭资源
 *
 *文本,加入缓冲提高效率
 */
public class TCPClientLower {
public static void main(String[] a )throws Exception{
Socket s=new Socket("127.0.0.1",10006);
//读取键盘
BufferedReader bufr=new BufferedReader(
new InputStreamReader(System.in));
//定义目的
BufferedWriter bufw=new BufferedWriter(
new OutputStreamWriter(s.getOutputStream()));

//读取服务端返回的大写信息
BufferedReader bufin=new BufferedReader(
new InputStreamReader(s.getInputStream()));

String line=null;
while((line=bufr.readLine())!=null){
if(line.equals("over"))
break;
bufw.write(line);//写给服务端
bufw.newLine();
bufw.flush();

//等待读取服务端的信息
String str=bufin.readLine();   
System.out.println("server: "+str);

}

s.close();
bufr.close();


}
}



0 0