import java.net.ServerSocket;
import java.net.Socket;
public class Server
{
public static void main(String[] args) throws Exception
{
ServerSocket serverSocket = new ServerSocket(5678);
while (true)
{
Socket socket = serverSocket.accept();
new ServerThread(socket).start();
}
}
}
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class Client
{
public static void main(String[] args) throws Exception
{
for (int i = 0; i < 5000; ++i)
{
Socket socket = new Socket("localhost", 5678);
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
String str = "This comes from client";
os.write(str.getBytes());
byte[] buffer = new byte[100];
int length = is.read(buffer);
String s = new String(buffer, 0, length);
System.out.println("string's length: " + s);
is.close();
os.close();
socket.close();
}
}
}
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class ServerThread extends Thread
{
private Socket socket;
public ServerThread(Socket socket)
{
this.socket = socket;
}
@Override
public void run()
{
try
{
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
byte[] buffer = new byte[100];
int length = is.read(buffer);
String content = new String(buffer, 0, length);
System.out.println("read from client: " + content);
int strLength = content.length();
String str = String.valueOf(strLength);
byte[] b = str.getBytes();
os.write(b);
is.close();
os.close();
socket.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}