import java.awt.print.PrinterAbortException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import http://www.doczj.com/doc/d2b9ce1a76232f60ddccda38376baf1ffd4fe34d.html.Socket;
public class TransClient {
public static void main(String[] args) throws IOException {
//1.创建Socket,明确地址和端口
Socket s=new Socket("122.206.79.101",8899);
//2.源,键盘录入,获取需要转换的数据;
BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));
//3.目的:网络,socket的输出流,将录入的数据发送到服务器;
//OutputStream out=(OutputStream) s.getOutputStream();
//既然都是字符数据,为了便于操作,使用额外功能,转换,提高效率;
//BufferedWriter bufout = new BufferedWriter(new OutputStreamWriter(out));
//PrintWriter out=new PrintWriter(s.getOutputStream());
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
//带上true的话是自动刷新,与println()方法对应;
//4.socket 读取流,读取服务器发回的数据;
InputStream in=(InputStream) s.getInputStream();
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
//5.目的,在屏幕上显示,将大写字母显示出来
//6.频繁的键盘录入
String line=null;
while((line=bufr.readLine())!=null)
{
if("over".equals(line))
break;
//将读取键盘的数据发送到服务端;
//out.print(line);//可以加行终止符;
//out.print(line+"\r\n");
//out.flush();// 1.带有缓冲区,必须flush;2.必须有行终止符;
out.println(line);
//读取服务端发回的数据;
String upperText=bufIn.readLine();
System.out.println(upperText);
}
//7.关闭资源
s.close();
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import http://www.doczj.com/doc/d2b9ce1a76232f60ddccda38376baf1ffd4fe34d.html.ServerSocket;
import http://www.doczj.com/doc/d2b9ce1a76232f60ddccda38376baf1ffd4fe34d.html.Socket;
public class TransServer {
public static void main(String[] args) throws IOException {
//1.创建服务端Socket,明确端口;
System.out.println("服务端运行");
ServerSocket ss=new ServerSocket(8899);
while(true)
{
Socket s=ss.accept();
System.out.println(s.getInetAddress().getHostAddress()+"......连接上了");
//2.源:Socket输入流,读取从键盘输入的数据;
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
//3.将转换成大写的字母发送到客户端;
//PrintWriter out=new PrintWriter(s.getOutputStream());
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
//频繁的读写操作
String line=null;
while((line=bufIn.readLine())!=null)
{
System.out.println(line);
if("over".equals(line))//若客户端发过来的是 over,转