客户端
package yuwei.tcp.hufang;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/*
*需求:
*客户端不断发送消息,且不断受到服务端的反馈信息为,发送信息的大写
* */
public class TCPClient {
public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
//建立客户端服务
Socket s= new Socket(InetAddress.getLocalHost().getHostAddress(),1111);
//获取Socket的输出流对象,定义目的
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//获取键盘录入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//定义一个Socket读取流,读取反馈
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
String line = null;
while((line = br.readLine())!=null) {
if("over".equals(line)) {
break;
}else {
//将数据写到该流中
bw.write(line);
bw.newLine();
bw.flush();
//获得服务端的反馈
String str = in.readLine();
System.out.println("server: "+ str);
}
}
br.close();
s.close();
}
}
服务端
package yuwei.tcp.hufang;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServer {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ServerSocket ss = new ServerSocket(1111);
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip + "正在连接");
//获取客户端的信息读出
BufferedReader brIn =
new BufferedReader(new InputStreamReader(s.getInputStream()));
//获取输出流对象,将数据输出到客户端
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line = null;
while((line = brIn.readLine())!=null) {
//打印服务端接收
System.out.println(line);
//反馈信息
bw.write(line.toUpperCase());
bw.newLine();
bw.flush();
}
s.close();
ss.close();
}
}