PDA

Просмотр полной версии : Java delevoper-ы есть?.. у мну пара вопросов


deivan
15.08.2011, 22:44
Есть некоторый сервер в инете, который принимает текстовые запросы и дает текстовые ответы.

Нужно написать простецкий клиент для обмена сообщениями.
Я больше прикладной делфист клиент-сервер не покорял еще, но вот нужно на джаве написать нечто такое.

подскажите как начать, через сокеты? RMI? ресурсы с примерами не помешали бы..

Bad Santa
15.08.2011, 22:50
я не специалист, но в современном мире программ обмен данными между ПО происходит при помощи XML протокола. А "клиент" можно писать абсолютно на чём угодно, в этом и заключается вся суть. Книгу по XML изучить надо тебе.

Igorka
15.08.2011, 23:45
я не специалист, но в современном мире программ обмен данными между ПО происходит при помощи XML протокола. А "клиент" можно писать абсолютно на чём угодно, в этом и заключается вся суть. Книгу по XML изучить надо тебе.

Ну если не специалист, то зачем советовать?
Человек жеж написал, что надо написать КЛИЕНТ, на JAVA.
Нету возможности выбора формата данных.

Igorka
15.08.2011, 23:47
deivan, а что за сервер?
Может он у тебя post/get принимает и JSON возвращает?
Если нет - то, через сокет, и делов-то.

deivan
16.08.2011, 08:02
не пост/гет, это я и на пхп умею.
Санта, там не хмл, там все хитрее.

"делов-то через сокет" - вот это я не умею, покажите пример, плиз

AndreyK
16.08.2011, 20:48
http://www.quizful.net/post/java-socket-programming
http://expertcode.ru/index.php/java/7-advancedjava/14-java-socket

deivan
16.08.2011, 20:54
да, неплохая статейка

но я сделал так:


String fromSrv = "", toSrv="";
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));

Socket socket = new Socket("X.X.X.X", 3203);
try {
System.out.println("socket = " + socket);
BufferedReader in = new BufferedReader(new InputStreamReader(socket
.getInputStream()));

PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);

System.out.println("from Server recive: "+fromSrv+"\nEnter command...");


while (!(toSrv.equals("bye"))) {
toSrv=r.readLine();
out.println(toSrv);
System.out.println("To Server send: "+toSrv);

fromSrv=in.readLine();
System.out.println("from Server recive: "+fromSrv+"\nEnter command...");
}

}
finally {
System.out.println("closing...");
socket.close();
}

}


работает, мож пригодится кому..

Solmyr
16.08.2011, 21:05
это жава? очень на шарп похожа.

deivan
16.08.2011, 23:22
не, это шарп с жавы слямзил..

fox_12
17.08.2011, 10:54
А обязательно на джаве нужно реализовать?
Да и точнее ТЗ хотелось бы увидеть.

deivan
18.08.2011, 10:18
ну, собственно первый вопрос - взаимодействие с сервером, я успешно решил на основе кода выше.
некий сервер отзывается на мои запросы и дает ответы.

а теперь у меня другая беда - сервер отдает информацию списками коммон лисп, нужно писать парсер для переноса ответов в переменные, а списки там зело злые..
буду рад ссылкам на код парсеров лисп-списков

Igorka
18.08.2011, 14:55
ну, собственно первый вопрос - взаимодействие с сервером, я успешно решил на основе кода выше.
некий сервер отзывается на мои запросы и дает ответы.

а теперь у меня другая беда - сервер отдает информацию списками коммон лисп, нужно писать парсер для переноса ответов в переменные, а списки там зело злые..
буду рад ссылкам на код парсеров лисп-списков

А на профильном форуме не пробовал спрашивать?

deivan
18.08.2011, 17:15
уже спросил.
но надеялся, что джава-девелоперы ездят на славутах, видимо ошибся.. :)

-Alexey-
27.08.2011, 21:54
Я бы RMI использовал..

deivan
28.08.2011, 09:04
вопрос №2:
есть в джаве такой класс объектов, как Map
в примерах описание его очень простое, на два-три объекта.
нужен пример, который описывает работу мапы со сложновложенным объектом типа:
{0=name, 1=1112233, 2={0=11, 1=12, 2=25}, 3=nil, 4=11222233, 5={0=0=zz, 1=asssasss, 2=12}, 1={0=xx, 1=joppppjopp, 2=35}}, 6=nil}

Igorka
30.08.2011, 11:36
вопрос №2:
есть в джаве такой класс объектов, как Map
в примерах описание его очень простое, на два-три объекта.
нужен пример, который описывает работу мапы со сложновложенным объектом типа:
{0=name, 1=1112233, 2={0=11, 1=12, 2=25}, 3=nil, 4=11222233, 5={0=0=zz, 1=asssasss, 2=12}, 1={0=xx, 1=joppppjopp, 2=35}}, 6=nil}

JSON парсишь?

deivan
30.08.2011, 20:45
не, коммон лисп списки.
Уже решил, привинтив к мапу аррейлисты...