import java.net.*;
import java.io.*;
import java.awt.Graphics;
import java.applet.Applet;

public class SocketTest extends Applet{
    public void paint(Graphics g) {
	try {
	    String joinstr = "JOIN mika\n";
	    String byestr = "BYE\n";
	    byte b[] = new byte[128];

	    g.drawString("Socket creation start.", 5, 20);
	    Socket s = new Socket("hikaru.csce.kyushu-u.ac.jp", 10001);
	    g.drawString("Socket creation done.", 5, 30);
	    OutputStream os = s.getOutputStream();
	    g.drawString("getOutputStream done.", 5, 40);

	    joinstr.getBytes(0, joinstr.length(), b, 0);
	    os.write(b);
	    g.drawString("write to OutputStream: " + joinstr, 5, 50);

	    DataInputStream is = new DataInputStream(s.getInputStream());
	    int i = 0;
	    String bstr = is.readLine();
	    g.drawString(bstr, 5, 60);

	    byestr.getBytes(0, byestr.length(), b, 0);
	    os.write(b);
	    g.drawString("write to OutputStream: " + byestr, 5, 70);

	    s.close();
	} catch (UnknownHostException he) {
	    g.drawString("HostError: " + he.getMessage(), 5, 80);
	} catch (IOException ie) {
	    g.drawString("IOError: " + ie.getMessage(), 5, 80);
	} catch (Exception e) {
	    g.drawString("OtherError: " + e.getMessage(), 5, 80);
	}
    }
}

