Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.06;
Скачать: CL | DM;

Вниз

Проблема приема ReceiveText с несколькоми клиентами   Найти похожие ветки 

 
Radgar ©   (2005-03-20 00:43) [0]

Дело в том, что при передачи несколькоми клиентами сообщений одновременно, сообщения сливаются. Подскажите, пожалуйста, что нужно cделать, чтобы избежать этого.


 
Змей ©   (2005-03-20 00:54) [1]

на этом сайте есть статья писал VID или Snap это один чел :)она заключается как раз в том чтобы склеивать а потом делить пакеты.
а вообще можно берешь строку посылаешь и добавляешь какой нибудь символ разделитель
потом при приеме разделяешь

пример
сервSocket.sendsocket("Vasya"+"|"+"Masha"+"|"+"ушли в лес по хрибы :)")
принимаешь реад:
s:=receivetext
edit1.text:=copy(s,1,pos("|",s)-1)//вот до этого символ ты вставляешь если единицу убрать то он тоже будет вставляться
потом удаляем все до него и его тоже
delete(s,1,pos("|",s));
и можно дальше edit2.text:=copy(s,1,pos("|",s)-1) тут будет уже Маша а в 1-ом как догадался Васька ;)
надеюсь что тебе это поможет
но это примитивно!
зато просто


 
redlord   (2005-03-20 01:00) [2]

(при передачи несколькоми клиентами сообщений одновременно)
значит разговор о сервере. но на сервере для каждого клиента свой сокет и они не могут там склеится


 
Змей ©   (2005-03-20 01:09) [3]

у меня была такая проблема но попробуй вот так рассылать

for i := 0 to ServSocket.Socket.ActiveConnections-1 do
    ServSocket.Socket.Connections[i].SendText(s+"|");
    end;


 
redlord   (2005-03-20 01:16) [4]

то змей
а зачем SendText(s+"|") можно просто SendText(s)
в етом случае каждый клиент получит S и ни байта больше
а вот то что в S гемор творится так ето кодер виноват


 
Zyb ©   (2005-03-21 10:21) [5]

вообще на практике лучше слать не sendtext, а sendbuf, более корректная работа



Страницы: 1 вся ветка

Текущий архив: 2005.06.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-1116485300
Polenov
2005-05-19 10:48
2005.06.06
Выделить строчку айтема в листбоксе


14-1116400799
DelphiN!
2005-05-18 11:19
2005.06.06
Отправка служебных комманд на чековый принтер Samsung SRP350


1-1116695621
hasher
2005-05-21 21:13
2005.06.06
можно ли вызвать процедуру по её адресу?


4-1113889016
Ola
2005-04-19 09:36
2005.06.06
Как программно перезапустить винду?


14-1116414564
syte_ser78
2005-05-18 15:09
2005.06.06
Залоченый телефон