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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.126 c
1-1082291934
dmitrijf
2004-04-18 16:38
2004.05.02
Наследствование методов


3-1081008085
YurikGl
2004-04-03 20:01
2004.05.02
varchar в IB


3-1080873104
AVP_opck
2004-04-02 06:31
2004.05.02
Работа с полем типа Time (firebird 1.5) через компоненты InterBas


14-1081253852
Andryk
2004-04-06 16:17
2004.05.02
Есть вопросец ! Есть ли какая-нибудь приблуда (программа),


6-1076015637
DDS
2004-02-06 00:13
2004.05.02
О том как добавить свой пункт в меню IE?