Форум: "Сети";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];
Внизкак передать строку в сокет? Найти похожие ветки
← →
Галинка (2008-06-27 17:30) [0]сокет вроде принимает по одному символу. Как потом попросить его ждать следуюшего?
Спасибо. Желательно на жабе.
← →
Rouse_ © (2008-06-27 17:36) [1]
> сокет вроде принимает по одному символу
Сокету до балды на символы, он принимает и отправляет данные блоками, кои ограничены размерами буфферов отправки/приема. А уж как ты их читаешь - это другое...
> Желательно на жабе.
Форум как-бы по Delphi...
← →
Галинка (2008-06-27 17:38) [2]про размер нашла. Но не хочет он строку целиком. Вводит первый символ и останавливается ((
← →
Rouse_ © (2008-06-27 17:48) [3]Может код покажешь? А то мне с этой стороны монитора не видно :)
← →
Галинка (2008-06-27 17:54) [4]
private Socket clSock;
private BufferedReader in;
private DataOutputStream output;
private int connect(String host, int port)
{
int result = -1;
try
{
clSock = new Socket(InetAddress.getByName(host), port);
in = new BufferedReader(new InputStreamReader(clSock.getInputStream()));
output = new DataOutputStream(clSock.getOutputStream());
lbStatus.setText("Client connection accepted from " + clSock.getInetAddress().toString());
result = clSock.getPort();
}
catch (IOException e)
{
System.err.println(e.toString());
System.exit(-1);
}
return result;
}
private void sendRequest(String _request)
{
try{
output.flush();
output.writeBytes(_request);
}
catch (IOException er)
{
System.err.println(er.toString());
System.exit(-1);
}
}
может ли это буть потому, что в программе есть только клиентский сокет?
← →
Галинка (2008-06-27 17:59) [5]и вообще
SocketInputStream - это, тот что передает мне, а
SocketOutputStream - тот, что передает наружу?
← →
Rouse_ © (2008-06-27 18:04) [6]
> SocketInputStream - это, тот что передает мне, а
>
> SocketOutputStream - тот, что передает наружу?
Эмм... вот у меня встречный вопрос, а почему ты спрашиваешь это на форуме о Delphi? :)) Если переводить, то Output это исходящий ;)
По сабжу: Ну сделай output.writeChars()... Я почем знаю как там в этой яве все делается :)
← →
Галинка (2008-06-27 18:28) [7]Rouse_ © (27.06.08 18:04) [6]
ну во-первых, я думаю для всей клтен-серверной технологии In-/Out- должно быть как то похоже. Чтоб народ не путался.
А причину я нашла. Просто принимающая система слишком медленна похоже. Надо было sleep встраивать. Ну или wait.
← →
Галинка (2008-06-27 18:29) [8]а вообще, является "хорошим тоном" программировать работу с сокетами в отдельном потоке? Тогда легче просто задержками, например, управлять.
← →
Галинка (2008-06-27 18:30) [9]Ну и конечно спасибо тебе за ответы и за поддержку!!!
← →
Сергей М. © (2008-06-29 18:49) [10]
> является "хорошим тоном" программировать работу с сокетами
> в отдельном потоке?
"Хорошим тоном" является полное понимание необходимости применения многопоточности в приложении вообще. Сокеты тут вообще ни причем.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2010.03.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c