Вниз
Скачать: 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.027 c
15-1150545629
ОГО!!!
2006-06-17 16:00
2006.07.23
vs2005


2-1151640162
delphiman2006
2006-06-30 08:02
2006.07.23
Непонятки по книге


15-1150953961
oha
2006-06-22 09:26
2006.07.23
процесс


15-1150965662
NailMan
2006-06-22 12:41
2006.07.23
Нужен плагин к миранде...


6-1142583177
Derr
2006-03-17 11:12
2006.07.23
Метод OnExecute в Indy10




   Наверх