服务端代码:
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 java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class SocketServerTip {
static BufferedReader br=null;
static PrintWriter out = null;
static Scanner scanner;
public static void main(String[] args){
scanner=new Scanner(System.in);
try {
ServerSocket ss=new ServerSocket(10000);
System.out.println("服务端开启");
Socket so=ss.accept();
br=new BufferedReader(new InputStreamReader(so.getInputStream()));
out=new PrintWriter(so.getOutputStream());
Thread thread=new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
String string=scanner.nextLine();
out.println(string);
out.flush();
}
}
});
thread.start();
while(true){
System.out.println("fromeClient:"+br.readLine());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
客户端代码:
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.Socket;
import java.util.Scanner;
public class SocketClient {
static BufferedReader bReader;
static PrintWriter out;
static Scanner scanner;
public static void main(String[] arsg){
scanner=new Scanner(System.in);
System.out.println("客户端开启");
try {
Socket socket=new Socket("localhost", 10000);
bReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream());
Thread thread=new Thread(new Runnable() {
@Override
public void run() {
while(true){
String string=scanner.nextLine();
out.println(string);
out.flush();
}
}
});
thread.start();
while(true){
System.out.println("fromeServer:"+bReader.readLine());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}