Вниз
Скачать: CL | DM;

Indy 10 передача и прием данных   Найти похожие ветки 

 
www111   (2006-03-15 17:24) [0]

В предыдущих версиях Indy были функции writebuffer и readbuffer. С помощью них легко было передать запись. Как это сделать в Indy 10. Помогите плиз.


 
Eraser ©   (2006-03-15 17:30) [1]


> www111   (15.03.06 17:24)

.IOHandler.ReadBytes
.IOHandler.ReadStream

.IOHandler.Write


 
www111   (2006-03-15 17:36) [2]

пробовал) не выходит

отправка:

function TTCPClientClass.SendToServer: boolean;
var
 aCI,rec: RClientInfo;
 aBuffer: TBytes;
begin
 Result := False;
 aCI.ClientID   :=  "CLIENT_DEFAULT";
 aCI.ClientType :=  "Client";
 aBuffer := RawToBytes(aCI,sizeof(aCI));
 TCPClient.Socket.WriteDirect(aBuffer);

//  TCPClient.IOHandler.Write(RawToBytes(aCI, SizeOf(aCI)));
 Result := True;
end;

прием:

procedure TTCPServerClass._OnExecute(aThread: TIdContext);
var
aBuffer: TBytes;
aCI: RClientInfo;
begin
 //
 aThread.Connection.Socket.ReadBytes(aBuffer,SizeOf(aCI),false);
 BytesToRaw(aBuffer,aCI,SizeOf(aBuffer));
 MessageController.SendMessage(aCI.ClientID + ";" + aCI.ClientType,0);
end;


 
Eraser ©   (2006-03-15 17:41) [3]


> www111   (15.03.06 17:36) [2]


>  TCPClient.Socket.WriteDirect

убери WriteDirect... к хорошему может не привести.

> TCPClient.IOHandler.Write(RawToBytes(aCI, SizeOf(aCI)));


>  aCI,rec: RClientInfo;

покажи описание структуры RClientInfo.


 
www111   (2006-03-15 17:51) [4]

RClientInfo = record
   ClientID: string[20];
   ClientType: string[20];
 end;


 
www111   (2006-03-15 18:14) [5]

все нашел ошибку.... спасибо...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
15-1150969467
Сатир
2006-06-22 13:44
2006.07.23
Пример в орешник.


15-1151226572
oldman
2006-06-25 13:09
2006.07.23
До чего ж докатилось наше образование... :(


15-1148326662
Pavia
2006-05-22 23:37
2006.07.23
ОС на паскале?


11-1130279014
Red Baron
2005-10-26 02:23
2006.07.23
Возможно баг?


3-1147941683
Alexey_
2006-05-18 12:41
2006.07.23
как воспользоваться фнкциями работы со строчками в Interbase




   Наверх