Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.06.2008, 19:20   #1
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
Радость отделение строк при передаче в serversocket...

Доброе время суток. У меня проблема следующего характера.
Я открываю файл и читаю его построчно. Затем я отправляю эти строки клиенту через serversocket. Проблема в том что клиент на клиент строки приходят так: строка1строка2строка3
А мне нужно что бы так
Строка1
Стока2
сторока3.
Причем они должны приходить каждая в отдельности. Сейчас я использую таймер для этих целей. Но когда клиентов больше 2-х то таймер перезагружается Таким образом те клиенты что сделали запрос первыми, остаются без информации....
Ну вообщем как-то так.
prizrak1390 вне форума
Старый 25.06.2008, 20:27   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

добавля перенос строки между строками.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Старый 25.06.2008, 20:52   #3
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

не помогает(
Тогда получается тоже самое только все выдаётся не в одну строку а по несколько.
Суть в том что бы получать именно отдельно по одной строке а не все сразу.
Тоесть как-бы поочерёдно. Допустим с интервалом 1мс.(без таймера)

Последний раз редактировалось prizrak1390; 25.06.2008 в 20:59.
prizrak1390 вне форума
Старый 25.06.2008, 21:22   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

а циклом отправлять по строке никак ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Старый 25.06.2008, 21:25   #5
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

пробовал...получилось тоже самое....:'(
prizrak1390 вне форума
Старый 26.06.2008, 06:37   #6
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Люди помогите....я уже незнаю что делать(
prizrak1390 вне форума
Старый 26.06.2008, 07:36   #7
Snoopy
Форумчанин Подтвердите свой е-майл
 
Аватар для Snoopy
 
Регистрация: 14.01.2008
Сообщений: 163
По умолчанию

А если с сервера клиенту отправлять команду клиенту типа принял обработал давай отправляй следующую!
Snoopy вне форума
Старый 26.06.2008, 07:47   #8
prizrak1390
-=PriZraK=-
Форумчанин
 
Аватар для prizrak1390
 
Регистрация: 12.12.2007
Сообщений: 399
По умолчанию

Snoopy, это все время и трафик.
Сейчас обрисую на конкретном примере:
Допустим клиент запросил у сервера данные из определённого файла(по оеределённому запросу).
Сервер получая запрос,открывает файл и начинает искать определённые строки(которые удовлетоворяют запрос) Как только сервер нашел нужные, ему необходимо отправить их клиенту. Клиент может обрабатывать только по одной строке. Для примера строка может быть такой
rr_блаблабла(блаблабла):блаблабла[блаблабла]^ss_блаблабла;
Если сервер нашел к примеру 5 строк то клиент получит
rr_блаблабла(блаблабла):блаблабла[блаблабла]^ss_блаблабла;rr_блаблабла(блаблабл а):блаблабла[блаблабла]^ss_блаблабла;rr_блаблабла(блаблабл а):блаблабла[блаблабла]^ss_блаблабла;rr_блаблабла(блаблабл а):блаблабла[блаблабла]^ss_блаблабла;rr_блаблабла(блаблабл а):блаблабла[блаблабла]^ss_блаблабла;

и обработает только первую строчку.
Как сделать что бы каждая строка пришла отдельно?
В принципе есть альтернатива...я могу получить все 5 строк,сохранить их в файл, а потом считать так как мне нужно. Но это лишний гемор и это не рационально(( Вообщем как то так.

Последний раз редактировалось prizrak1390; 26.06.2008 в 07:49. Причина: ИЗВИНЯЮСЬ ЗА КРИВИЗНУ ДАННОГО ПОСТА. Я ХОТЕЛ СДЕЛАТЬ НАГЛЯДНЕЕ
prizrak1390 вне форума
Старый 26.06.2008, 08:10   #9
Snoopy
Форумчанин Подтвердите свой е-майл
 
Аватар для Snoopy
 
Регистрация: 14.01.2008
Сообщений: 163
По умолчанию

Примите такую строку и разбей на клиенте на 5
Snoopy вне форума
Старый 26.06.2008, 08:13   #10
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Протокол TCP называется потоковым потому, что он собирает входящие пакеты в один поток. В частности, если в буфере сокета лежат 30 байт, принятые по сети, не существует возможности определить, были ли эти 30 байт отправлены одним пакетом, 30-ю пакетами по 1 байту или ещё как-либо. Гарантируется только то, что порядок байт в буфере совпадает с тем порядком, в котором они были отправлены. Принимающая сторона также не ограничена в том, как она будет читать информацию из буфера: всё сразу или по частям. Это существенно отличает TCP от UDP, в котором дейтаграммы не объединяются и не разбиваются на части.
Цитата из статьи http://www.delphikingdom.com/asp/vie...catalogid=1021

Цитата:
В принципе есть альтернатива...я могу получить все 5 строк,сохранить их в файл, а потом считать так как мне нужно. Но это лишний гемор и это не рационально
Зачем в файл. Поместите в буфер и делите по тем-же #10.
alexBlack вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Serversocket,clientsocket prizrak1390 Работа с сетью в Delphi 10 21.04.2009 16:04
Кто Етот ServerSocket ? combays Помощь студентам 5 24.08.2008 21:40
как узнать о завершенной передаче файла One.Love Работа с сетью в Delphi 0 29.03.2008 21:37
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14
Events в ServerSocket и ClientSocket LiFeStyle Работа с сетью в Delphi 3 22.11.2007 22:26