{
e.printStackTrace();
}
System.out.println("Server Message:" + str);
}
}
}
服务器端:
[java]
package com.lip;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server
{
/**
* Author:Lip Desc:SSD8_exercise1
*/
public static int PORT = 8000;
public static String HOST = "127.0.0.1";
public static void main(String[] args)
{
ServerSocket serverSocket = null;
Socket socket = null;
try
{
serverSocket = new ServerSocket(PORT);
// 等待请求,无请求一直等待
while (true)
{
System.out.println("Waiting Client");
socket = serverSocket.accept();// 接受请求
System.out.println("Client Conect!");
new ThreadedServer(socket);
}
}
catch (Exception e)
{
try
{
socket.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
finally
{
try
{
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
辅助线程:
[java]
package com.lip;
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 ThreadedServer extends Thread
{
private Socket socket = null;
private BufferedReader br = null;
private PrintWriter pw = null;
private Scanner scanner = null;
public ThreadedServer(Socket s)
{
socket = s;
try
{
br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
pw = new PrintWriter(
new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream())), true);
scanner = new Scanner(System.in);// 从键盘读取数据
start();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void run()
{
new ReadCl