所以我得到了一个 Server.jar 文件,它运行一个井字游戏服务器。我现在要做的是通过 TCP Socket 连接到这个服务器并发送 HTTP 请求(例如“GET /game/ HTTP/1.1”),并接收 tictactoe 字段。
现在我似乎能够连接到服务器,并发送第一个请求。然而,我的第二个 out.write 似乎要么被忽略,要么导致异常。我不明白为什么......服务器似乎也没有响应第二条消息/请求。
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。