Главная страница
    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.47 MB
Время: 0.008 c
4-1198654568
Cj
2007-12-26 10:36
2008.11.02
Получить путь и имя процесса


11-1195121648
Альберт
2007-11-15 13:14
2008.11.02
при установки kol не найден exptintf.dcu


1-1201774076
Still Swamp
2008-01-31 13:07
2008.11.02
Мультиязыковая поддержка


15-1218713094
@!!ex
2008-08-14 15:24
2008.11.02
Хочу купить монитор


15-1220936886
Slider007
2008-09-09 09:08
2008.11.02
С днем рождения ! 9 сентября 2008 вторник





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