Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
2-1263888390
lewka
2010-01-19 11:06
2010.03.21
Взоимодействие программы Компас и Delphi


15-1258960395
desc
2009-11-23 10:13
2010.03.21
Длинные имена файлов


1-1245049450
Priest
2009-06-15 11:04
2010.03.21
После установки D 2007 начались проблемы в D7


1-1241176890
MM_ASH
2009-05-01 15:21
2010.03.21
Интеграция с Delphi IDE


3-1236248430
WeTeR
2009-03-05 13:20
2010.03.21
Процедура для определения типа столбца таблицы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский