エコーサーバー

RFC862に準拠

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class echo_server {

	public final static int BUFSIZE = 32;

	public static void main(String[] args) throws IOException {
		{
			byte buffer[] = new byte[BUFSIZE];
			int recvied_message_size;
			ServerSocket server_socket = new ServerSocket(7);
			
			while (true) {
				Socket client_socket = server_socket.accept();

				InputStream in = client_socket.getInputStream();
				OutputStream out = client_socket.getOutputStream();

				while ((recvied_message_size = in.read(buffer)) != -1) {
					out.write(buffer, 0, recvied_message_size);
				}
				client_socket.close();
			}
		}
	}
}

実行結果

$ telnet 127.0.0.1 7
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
this is test.
this is test.
natsumi
natsumi
reika
reika
aya
aya
tae
tae