serverSocket = new ServerSocket(9999);
while ((clientSocket = serverSocket.accept()) != null) {
System.out.println("Accept from client " + s.getInetAddress());
s.close();
}
//监听内部网
public static final short PORT = 9999;
public static final String INSIDE_HOST = "acmewidgets-inside"; //网络接口名
public static final int BACKLOG = 10; //待发数
serverSocket = new ServerSocket(PORT, BACKLOG, InetAddress.getByName(INSIDE_HOST));
//返回相应对象
ServerSocket serverSocket = new ServerSocket(9999);;
Socket clientSocket;
BufferedReader in = null;
PrintWriter out = null;
while (true) {
clientSocket = serverSocket.accept();
in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream(), "8859_1"));
out = new PrintWriter(new OutputStreamWriter(clientSocket.getOutputStream(), "8859_1"), true);
String echoLine;
while ((echoLine = in.readLine()) != null) {
System.out.println("Read " + echoLine);
out.print(echoLine + "\r\n");
}
}
// 以 上例子返回字符串,如果返回二进制,则使用DataOutputStream;返回对象,使用ObjectOutputStream
//处理多客户端
//需要 把接收数据的处理放入多线程中
public class EchoServerThreaded {
public static final int ECHOPORT = 7;
public static final int NUM_THREADS = 4;
public static void main(String[] av) {
new EchoServerThreaded(ECHOPORT, NUM_THREADS);
}
public EchoServerThreaded2(int port, int numThreads) {
ServerSocket servSock;
Socket clientSocket;
try {
servSock = new ServerSocket(ECHOPORT);
} catch(IOException e) {
throw new RuntimeException("Could not create ServerSocket " + e);
}
for (int i = 0; i < numThreads; i++) {
new Handler(servSock, i).start();
}
}
}
class Handler extends Thread {
ServerSocket servSock;
int threadNumber;