そこで、三目並べサーバーを実行する Server.jar ファイルを受け取りました。私が今やるべきことは、TCP Socket 経由でこのサーバーに接続し、HTTP リクエスト (例: "GET /game/ HTTP/1.1") を送信し、tictactoe フィールドを受信することです。
これで、サーバーに接続できるようになり、最初のリクエストも送信できるようになりました。ただし、2 番目の out.write は無視されるか、例外が発生するようです。理由がわかりません... サーバーが 2 番目のメッセージ/リクエストにも応答していないようです。
Socket sock;
try
{
sock = new Socket("127.0.0.1",8080);
System.out.println("Connection established at "+sock.toString());
Scanner in = new Scanner(sock.getInputStream());//Step 2.
PrintWriter out =new PrintWriter(sock.getOutputStream(),true);//Step 2.
out.println("GET /game/ HTTP/1.1\nHost: 127.0.0.1\nConnection: keep-alive\n\n");
String test ="";
while( (in.hasNext())== true)
{
test = test + in.nextLine();
}
System.out.println(test);
//This one is ignored somehow.
out.println("GET /game/gamenumber HTTP/1.1\nHost: 127.0.0.1\n\n");
while( (in.hasNext())== true)
{
test = test + in.nextLine();
}
System.out.println(test);
out.close();
sock.close();
}
catch (IOException e)
{
System.out.println("Failed");
e.printStackTrace();
}
注: サーバーのソース コードに直接アクセスすることはできず、HTTPURLCONNECTION の使用は許可されていません。