Правильный формат для подключения к удаленному серверу Tomcat? - PullRequest
0 голосов
/ 09 ноября 2011

Играя с несколькими учебниками по сокетам, но изо всех сил пытаясь подключиться.

Мой сервер tomcat находится на eric.server.com и использует AJP-соединитель на порту 8052.

Я хочу использоватьтук тук джава учебник для подключения.Я загрузил KnockKnockProtocol.class и KnockKnockServer.class в eric.server.com/apps/knock

. В учебном пособии это показывает следующее:

kkSocket = new Socket("tarranis", 4444);

, которое я изменил на:

kkSocket = new Socket("eric.server.com/apps/knock", 8052);

Затем я запускаю клиентскую программу из eclipse, но я просто получаю UnknownHostException.

Может кто-нибудь объяснить, что я делаю не так, совершенно новичок в Tomcat и в целом в сервлетах?

TIA

import java.io. ;import java.net. ;

открытый класс KnockKnockClient {public static void main (String [] args) выдает IOException {

    Socket kkSocket = null;
    PrintWriter out = null;
    BufferedReader in = null;

    try {
        kkSocket = new Socket("eric.server.com", 8052);
        out = new PrintWriter(kkSocket.getOutputStream(), true);
        in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream()));
    } catch (UnknownHostException e) {
        System.err.println("Don't know about host.");
        System.exit(1);
    } catch (IOException e) {
        System.err.println("Couldn't get I/O for the connection to.");
        System.exit(1);
    }

    BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
    String fromServer;
    String fromUser;

    while ((fromServer = in.readLine()) != null) {
        System.out.println("Server: " + fromServer);
        if (fromServer.equals("Bye."))
            break;

        fromUser = stdIn.readLine();
    if (fromUser != null) {
            System.out.println("Client: " + fromUser);
            out.println(fromUser);
    }
    }

    out.close();
    in.close();
    stdIn.close();
    kkSocket.close();
}

}

1 Ответ

2 голосов
/ 09 ноября 2011

Вы используете имя хоста «eric.server.com/apps/knock», когда вы действительно хотите «eric.server.com».

Затем, после подключения, вы можетезатем начните использовать протокол сокета (ajp) для связи с ним.Часть URI входит в часть req_uri протокола , а не в хост.Вы должны либо написать сервлет, который реализует серверную часть руководства, и запустить его в Tomcat, либо просто написать его как отдельный процесс сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...