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

Вниз

Indy, IdTCPClient.writebuffer   Найти похожие ветки 

 
pai ©   (2004-03-04 13:14) [0]

Люди добрые подскажите что не так делаю. Необходимо на сервер из клиента заслать буфер и не получается (работает через раз)!!! Использую IdTCPClient и Server. Вот исходники:
КЛИЕНТ
var s: string;
with IdTCPClient do
begin
 connect;
 openwriteBuffer
 writeBuffer(s, sizeof(s));
 CloseWriteBuffer;
 Dqisconnect;
end;

СЕРВЕР

procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var a: string;
begin
with AThread.Connection do
begin
 ReadBuffer(a, считываемый размер);
end;
end;


 
Reindeer Moss Eater ©   (2004-03-04 13:21) [1]

WriteBuffer(s[1],Length(s))


 
pai ©   (2004-03-04 13:31) [2]

так это я пошлю только 1 символ, а мне надо например строку. А если точнее я пересылаю звук в реальном режиме времени. То есть имею событие которое срабатывает когда буфер записи заполнен и на это событие мне этот буфер надо переслать. С текстом это так просто тренируюсь!!!


 
pai ©   (2004-03-04 13:33) [3]

так это я пошлю только 1 символ, а мне надо например строку. А если точнее я пересылаю звук в реальном режиме времени. То есть имею событие которое срабатывает когда буфер записи заполнен и на это событие мне этот буфер надо переслать. С текстом это так просто тренируюсь!!!


 
Reindeer Moss Eater ©   (2004-03-04 13:34) [4]

WriteBuffer(s[1],Length(s))


 
Digitman ©   (2004-03-04 13:38) [5]


> так это я пошлю только 1 символ


с чего ты взял ?
ты пошлешь Length(s) символов

а S[1] означает , что за адрес буфера следует считать адрес 1-го символа в буфере стр.переменной


> sizeof(s));


это размер строковой переменной (для huge strings - это размер указателя, т.е. 4байта), а не размер стр.данных, которые контролирует внутренняя дин.структура, на которую указывает S


 
pai ©   (2004-03-05 13:59) [6]

но я примерно так пробовал, глючит. То есть чтобы передать звук я смотрю когда буфер записи полный, то я беру указатель начала буфера P (переменая типа Pointer) и размер буфера bufSize. И это все дело отправляю writebuqffer(p, bufsize). Глючит!!! Пытался записать буфер в поток. Но даже не отправляя поток по сети пытаюсь проиграть, он коряво проигрывает. Поэтому работаю только с буфером!!!


 
Digitman ©   (2004-03-05 14:30) [7]


> глючит


> коряво


ты знаешь что такое "отладчик" ?


 
Reindeer Moss Eater ©   (2004-03-05 14:43) [8]

И это все дело отправляю writebuqffer(p, bufsize). Глючит!!!

writebuqffer(p^, bufsize)


 
S@shka ©   (2004-03-05 15:42) [9]

Для звука использовать UDP


 
Digitman ©   (2004-03-05 15:54) [10]

а для головы использовать первоисточники + книги + документацию к компонентам + исх.тексты компонентов + встроенный отладчик



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

Форум: "Сети";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
3-1081402077
Masha Streltsova
2004-04-08 09:27
2004.05.02
Запретить удаление и добавление строк в DBGrid.


3-1080832854
Назаров Евгений
2004-04-01 19:20
2004.05.02
Непонятная ошибка в InterBase


1-1081969022
VirusIP
2004-04-14 22:57
2004.05.02
Randomize


9-1068310197
Cash
2003-11-08 19:49
2004.05.02
Взаимодействия спрайтов


8-1075968210
SH
2004-02-05 11:03
2004.05.02
Чёрнобелый Jpeg





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