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

Вниз

Органицая обмена большого коичества такста   Найти похожие ветки 

 
Costy   (2007-11-11 14:14) [0]

подскажите пожалуйста как можно организовать быстрый обмен большого количества текстовых команд посредствам tClient(server)Socket        когда я делаю класический приём  то происходит  ошибка


 
DVM ©   (2007-11-11 14:34) [1]


> когда я делаю класический приём

это какой?


 
Costy   (2007-11-11 14:43) [2]

это

ClientSocket1.Socket.Connected[0].sendText("команда");

а на другом конце провода по событию Server1ClientRead записываем ReceiveText в несчастную стринг переменую и далие проводим анализ команды


 
Costy   (2007-11-11 14:46) [3]

ошибся в примери малек   представте что Connected[0]  это такая шутка


 
DVM ©   (2007-11-11 15:04) [4]

Ничего не понял. Где ошибка то возникаеточешь сделать конкретно?


 
Costy   (2007-11-11 15:17) [5]

калочи у мя две проги клиент и сервер :

сервер:
procedure TForm1.Server1ClientRead(Sender: TObject; Socket:СustomWinSocket);
 var
 s:string;
 begin
 s:=server1.Socket.Connections[0].ReceiveText;

 if copy(s,1,3)="ris" then
 begin
 delete(s,1,3);
 scr.Pixels[strtoint(copy(s,pos("+",s)+1,length(s))),strtoint(copy(s,1,pos("+",s)-1))]:=clRed;
 end;

end;

одним словам сервер получает кардинаты и  рисует точку  на экране
а клиент отправляет ему эти кардинаты (в следствии их полученя путем анализа бмп картинки) но кардинат до усрачке много и судя по всему он начинает из склеивать в 1 в итоге сервер выдаёт ошибку


 
Costy   (2007-11-11 15:20) [6]

мне кажется мне просто надо науччить после прочтения команды удалить её из переменной и научить его видеть конец команды тоесть  удобнее просто заместо  ris задать  каконебудь символ который будет  являтся началом


 
DVM ©   (2007-11-11 15:26) [7]


> в итоге сервер выдаёт ошибку

Так прямо и говорит, мол Ошибка ? Что там за ошибка то?


 
Costy   (2007-11-11 15:45) [8]

куча куча  команд от клиента а потом is not valid integer value

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

вопрос  в том как сделать чтобы не происзодила путаницы делать ещё одну переменую и в эту переменую выдергивать по команде (выдергивать по характерным признакам конца начала)   а потом анализировать имено эту доп переменую


 
DVM ©   (2007-11-11 15:51) [9]


> Costy   (11.11.07 15:45) [8]

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

Команды у меня выглядят так:

Action: Тип команды#13#10
Param1: Value1#13#10
Param2: Value1#13#10
...
ParamN: ValueN#13#10
ActionID: ID#13#10
#13#10

Два #13#10#13#10 означают конец команды.


 
zvukoff   (2007-11-11 16:01) [10]


> Costy   (11.11.07 15:17) [5]
> одним словам сервер получает кардинаты и  рисует точку  
> на экране
> а клиент отправляет ему эти кардинаты (в следствии их полученя
> путем анализа бмп картинки) но кардинат до усрачке много
> и судя по всему он начинает из склеивать в 1 в итоге сервер
> выдаёт ошибку

правильно и ничего у тебя не получится
для сохранения формата нужно еще отправлять и цвет точки)
иначе на сервере GIF получится, а не BMP



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
2-1222061843
Виктор
2008-09-22 09:37
2008.11.02
Чтение файла .txt и формирование Excel


2-1222343693
Семенов. Н
2008-09-25 15:54
2008.11.02
Поясните строку в коде...


15-1221023962
Slider007
2008-09-10 09:19
2008.11.02
С днем рождения ! 10 сентября 2008 среда


15-1221016514
Василий Жогарев
2008-09-10 07:15
2008.11.02
Программирование под Unix- подобные системы.


1-1202115800
Андрей Пл
2008-02-04 12:03
2008.11.02
Вопрос по Report вывод итоговой суммы!!!