黑马程序员技术交流社区
标题:
【黑马程序员】网络编程(练习)客户端向服务器写字符串(...
[打印本页]
作者:
huburt
时间:
2016-5-23 13:42
标题:
【黑马程序员】网络编程(练习)客户端向服务器写字符串(...
服务端:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(12345);
while(true){
final Socket socket = server.accept();
//多线程
new Thread(){
public void run() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//接收数据
PrintStream ps = new PrintStream(socket.getOutputStream());
//反转
StringBuilder sb = new StringBuilder(br.readLine());
sb.reverse();
//发出数据
ps.println(sb.toString());
//关闭socket,会自动关闭IO流
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
};
}.start();
}
}
}
复制代码
客户端:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;
public class Client {
public static void main(String[] args) throws IOException{
Scanner sc = new Scanner(System.in);
//发起连接
Socket socket = new Socket("127.0.0.1", 12345);
//打开输入输出流
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintStream ps = new PrintStream(socket.getOutputStream());
//接收控制台键入内容
String line = sc.nextLine();
//发送服务器
ps.println(line);
//接收服务器返回信息并打印
System.out.println(br.readLine());
//关闭连接
socket.close();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2