Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2008.11.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-1201454613
viRUS
2008-01-27 20:23
2008.11.02
Прозрачность компонентов


15-1220884420
axis_of_evil
2008-09-08 18:33
2008.11.02
IE тормозит систему


15-1220676588
lionman
2008-09-06 08:49
2008.11.02
Подскажите проги на курсовую


2-1222249404
LDV
2008-09-24 13:43
2008.11.02
Real or Double


2-1222325480
Zheksonz
2008-09-25 10:51
2008.11.02
FloatToStr(n) . и ,





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский