package com.socket;
import java.net.ServerSocket;
public class TestServerSocket {
public final static int PORT = 9000;
public TestServerSocket() {
}
public static void main(String[] args) {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(PORT);
serverSocket.setSoTimeout(50);
int i = 0;
while (true) {
new ServerThread(serverSocket.accept());
System.out.println("i= " + ++i);
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
}
}
}
package com.socket;
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;
public class ServerThread extends Thread {
Socket socket = null;
BufferedReader in = null;
PrintWriter out = null;
public ServerThread(Socket s) throws IOException {
socket = s;
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket
.getOutputStream())), true);
start();
}
public void run() {
try {
while (true) {
String str = in.readLine();
if (str != null && str.equals("end ")) {
break;
}
out.println("From server= " + str);
System.out.println("client= " + str);
} // end while
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
socket.close();
} catch (Exception ex) {
ex.printStackTrace();
}// end try
}// end try
}
}
package com.socket;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
public class ClientSocket {
public ClientSocket() {
}
public static void main(String[] args) {
InetAddress address = null;
Socket socket = null;
BufferedReader in = null;
PrintWriter out = null;
try {
address = InetAddress.getLocalHost();
socket = new Socket(address, 9000);
in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream())), true);
// input from console
BufferedReader console = new BufferedReader(new InputStreamReader(
System.in));
for (;;) {
String consoleIn = console.readLine();
out.write(consoleIn);
out.flush();
if (consoleIn != null && consoleIn.equals("end ")) {
break;
}
String read = in.readLine();
System.out.println("From server= " + read);
}// end for
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
in.close();
out.close();
socket.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}