Вниз
Скачать: 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.45 MB
Время: 0.042 c
15-1150970600
Adil
2006-06-22 14:03
2006.07.23
BDS 4.0


1-1149424238
MikeZ
2006-06-04 16:30
2006.07.23
XOR для массива


3-1147876311
S@shka
2006-05-17 18:31
2006.07.23
Сбросить данные из таблицы в файл.


2-1150957006
lobach
2006-06-22 10:16
2006.07.23
Вставка компонентов


15-1151040139
Ega23
2006-06-23 09:22
2006.07.23
С Днём рождения! 23 июня




   Наверх