![]() |
|
|
#1
|
||||
|
||||
|
Код:
TSendStruct = packed record ID: byte; mesg: TChat; Comand: TDrawCommand end; собственно у меня есть такой пакет, вопрос как мне их несколько (неизвестно колличество) с клеить в один, в дальнейшем уже нужно отправить серверу cSocket.Socket.SendBuf("склееный пакет","его размер"); |
|
#2
|
|||
|
|||
|
Код:
TSendPacket Size : DWORD; Count : DWORD; Data : Array[0..0] Of TSendStruct; // или Ponter И посылаешь такую структурку. |
|
#3
|
||||
|
||||
|
хм, не совсем понял как же мне их склеивать и как использовать
Код:
Size : DWORD; Count : DWORD; ![]() |
|
#4
|
||||
|
||||
|
А зачем их вообще склеивать?
|
|
#5
|
||||
|
||||
|
действительно, зачем вообще склеивать пакеты, если протокол tcp может их разбить при передаче)
|
|
#6
|
||||
|
||||
|
Мне нужно слать на сервер команды... Я хочу их собирать в кучу все, и слать.. иначе они слишком часто посылаются...
|
|
#7
|
||||
|
||||
|
ну так я и объясняю, что протокол tcp может последовательные пакеты склеить или один пакет разбить на несколько!!!
|
|
#8
|
||||
|
||||
|
не беда, главное чтобы они у меня слались реже
|
|
#9
|
||||
|
||||
|
Выдержка из Педивикии:
Цитата:
|
|
#10
|
||||
|
||||
|
мне это не надо, мне нужно только сказать как их сразу кучей отправить, я использую ClientSoket ServerSoket
|
|
#11
|
||||
|
||||
|
Код:
type
TSendStruct = record
...
end;
var
FMemoryStream: TMemoryStream;
data: TSendStruct;
dummy: Cardinal;
begin
FMemoryStream:=TMemoryStream.Create;
try
FMemoryStream.Write(data, SizeOf(TSendStruct));
FMemoryStream.Write(data, SizeOf(TSendStruct));
FMemoryStream.Write(data, SizeOf(TSendStruct));
FMemoryStream.Write(data, SizeOf(TSendStruct));
WriteFile(h, FMemoryStream.Memory^, FMemoryStream.Size, dummy, nil);
finally
FMemoryStream.Free;
end;
end; |
|
#12
|
||||
|
||||
|
хм вроде ясно..
както так тогда потом Код:
cSocket.Socket.SendBuf(FMemoryStream.Memory^,FMemoryStream.Size); |
|
#13
|
||||
|
||||
|
Терзает меня сомнение о здравом смысле этой идеи. ALexandr555 ты хоть скажи, какая задача тобой движет?
|
|
#14
|
||||
|
||||
|
в личку тогда...
|