![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Vinnety |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.4.2003 Репутация: нет Всего: нет |
Помогите!
Как передать через сокет посредством SendBuf такую структуру: const kolvo_zap=100; type //------------------------------------------- TCode = longint; TData = double; TName = string[15]; TType_pack = string[15]; TDatas = packed record Code : Tcode; Data : Tdata; end; Tarr = array of Tdatas; TUser = packed record Name : Tname; Type_pack : Ttype_pack; Datas : TArr; end; //------------------------------------------- Например, я посылаю это так: var size,i : integer; begin size:=(4+8)*kolvo_zap+(15+1+15+1); for i:=0 to serversocket1.Socket.ActiveConnections-1 do serversocket1.Socket.Connections[i].SendBuf(user,size); end; А принимаю так (на клиенте такая же структура): procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var size,i: integer; begin size:=socket.ReceiveLength; setlength(user.datas,kolvo_zap); clientsocket1.Socket.ReceiveBuf(user,size); end; Но это не работает!!! Почему? |
|||
|
||||
altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
Что такое user? это должна быть текстовая переменная. И соответственно у тебя должны быть два метода для кодирования этого массива в текстовую строку и для соответствующего раскодирования.
-------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
если user это массив из TUser тогда размер того что нужно отправить:
size:=SizeOf(TUser) * Length(user); а утебя: size:=(4+8)*kolvo_zap+(15+1+15+1); -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |