Каков наилучший способ кодирования клиента Java TCP (сервер C #)? - PullRequest
3 голосов
/ 30 октября 2011

У меня есть сервер, написанный на C #, и мне нужно поговорить с ним из Java 1.6. Мне нужно подключиться к серверу, поддерживать соединение и отправлять сообщения в обоих направлениях. Это сообщения типа int (длина сообщения), а затем файл XML.

Каков наилучший способ сделать это? Я хорошо знаю Java, но я никогда не делал TCP из Java (делал это из C #). Так что я понятия не имею, как лучше всего это сделать. Скорость не проблема, а простота полезна.

спасибо - Дейв

Ответы [ 3 ]

2 голосов
/ 30 октября 2011

Итак, вы хотите построить Java-клиент, используя Socket API.Это довольно просто сделать.

try {
   Socket socket = new Socket( host, port );
   BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream() ) );
   PrintWriter out = new PrintWriter( new OutputStreamWriter( socket.getOutputStream() ) );

   out.println("HELO");
   String response = in.readLine();
   System.out.println( response );
} finally {
   in.close();
   out.close();

   socket.close();
}
1 голос
/ 30 октября 2011

Поскольку вы обмениваетесь только целыми числами, вы можете использовать классы Socket и DataOutputStream (для отправки) и DataInputStream (для получения). Я настоятельно рекомендую использовать темы.

0 голосов
/ 30 октября 2011

Для начала, посмотрите это крошечное демо .

Оттуда помощники, предоставленные Apache Commons Net , могут убрать часть работы нижнего уровня..

...