public class TalkServer {
private static ServerSocket serverSocket;
public static void main(String[] args) {
connect();
}
/*
* 服务器连接
*/
private static void connect() {
try {
serverSocket = new ServerSocket(9999);
System.out.println("---服务器监听套接字中---");
Socket socket = serverSocket.accept();
System.out.println("---监听获取---");
GetMessage gm = new GetMessage(socket);
SendMessage sm = new SendMessage(socket);
Thread gt = new Thread(gm);
Thread st = new Thread(sm);
gt.start();
st.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class GetMessage implements Runnable {
BufferedReader bufferedReader; // 读取信息流
public GetMessage(Socket socket) {
// TODO Auto-generated constructor stub
try {
this.bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run() {
// TODO Auto-generated method stub
String value = "";
while(true){
try {
value = this.bufferedReader.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (null != value && !value.trim().equals("")) {
if (value.equals("exit")) {
break;
}
System.out.println("客户端说:" + value);
}
}
}
}
public class SendMessage implements Runnable {
PrintWriter printWriter;
BufferedReader bufferedReader;
public SendMessage(Socket socket) throws IOException{
// TODO Auto-generated constructor stub
this.printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())) , true);
this.bufferedReader = new BufferedReader(new InputStreamReader(System.in));
}
@Override
public void run() {
// TODO Auto-generated method stub
String input = "";
try {
while (true) {
input = this.bufferedReader.readLine();
if (null != input && !input.trim().equals("")) {
this.printWriter.println(input.trim());
}
System.out.println("服务器说:" + input.trim());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
this.printWriter.flush();
}
}
}
private static ServerSocket serverSocket;
public static void main(String[] args) {
connect();
}
/*
* 服务器连接
*/
private static void connect() {
try {
serverSocket = new ServerSocket(9999);
System.out.println("---服务器监听套接字中---");
Socket socket = serverSocket.accept();
System.out.println("---监听获取---");
GetMessage gm = new GetMessage(socket);
SendMessage sm = new SendMessage(socket);
Thread gt = new Thread(gm);
Thread st = new Thread(sm);
gt.start();
st.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class GetMessage implements Runnable {
BufferedReader bufferedReader; // 读取信息流
public GetMessage(Socket socket) {
// TODO Auto-generated constructor stub
try {
this.bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run() {
// TODO Auto-generated method stub
String value = "";
while(true){
try {
value = this.bufferedReader.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (null != value && !value.trim().equals("")) {
if (value.equals("exit")) {
break;
}
System.out.println("客户端说:" + value);
}
}
}
}
public class SendMessage implements Runnable {
PrintWriter printWriter;
BufferedReader bufferedReader;
public SendMessage(Socket socket) throws IOException{
// TODO Auto-generated constructor stub
this.printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())) , true);
this.bufferedReader = new BufferedReader(new InputStreamReader(System.in));
}
@Override
public void run() {
// TODO Auto-generated method stub
String input = "";
try {
while (true) {
input = this.bufferedReader.readLine();
if (null != input && !input.trim().equals("")) {
this.printWriter.println(input.trim());
}
System.out.println("服务器说:" + input.trim());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
this.printWriter.flush();
}
}
}