Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.13;
Скачать: CL | DM;

Вниз

ServerSocket и ClientSocket   Найти похожие ветки 

 
ZSergey   (2005-07-27 11:13) [0]

Здравствуйте уважаемые знатоки.
помогите новичку.
Я пишу сетевое приложение на основе компонентов ServerSocket и ClientSocket. По ходу работы возник вопрос: нельзя ли сделать так:

Объявляю запись, например
.......................
Packet.Command := "go";
Packet.X := 10;
Packet.Y := 20;
......................  
и потом все это дело махом отправляю на сервер
(образно :))
Clientsocket1.Socket.SendText(Packet);
и чтоб потом Сервер прочилал эту структуру.
Возможно ли используя эти компоненты делать подобные вещи, или в сокеты посылаются только строки ??


 
Digitman ©   (2005-07-27 11:28) [1]


> Возможно ли используя эти компоненты делать подобные вещи


возможно.

PPacket = ^TPacket;
TPacket = packed array
 Command: string[MAX_LENGTH_OF_YOUR_COMMAND_STRING];
 X,Y: Integer;
end;

..

var
 Packet: TPacket;

..

Результат := Clientsocket1.Socket.SendBuf(Packet, SizeOf(Packet));


 
Alexey_FireMan   (2005-07-28 14:27) [2]

Просто когда будеш принимать как описано в [1], то надо проверять
что
...Socket.ReceiveLength>=SizeOf(TPacket)
иначе твой пакет может приходить кусками!


 
Digitman ©   (2005-07-28 15:44) [3]


> Alexey_FireMan   (28.07.05 14:27) [2]



> иначе твой пакет может приходить кусками


и что в этом страшного  ?

поток есть поток ... если протоколом инф.обмена предусмотрен префикс (фикс.размера) размера инф.сообщения некоего данного вида, принимающая сторона всегда сможет (и должна !) аккумулировать последовательные фрагменты принимаемого ей потока данных до достижения заранее известного ей суммарного размера ожидаемого инф.сообщения


 
Alexey_FireMan   (2005-07-28 15:52) [4]

>Digitman
Я с Вами согласен!
Это было написано для предотвращения последующих вопросов...


 
FireMan_Alexey   (2005-07-30 13:18) [5]

Удалено модератором


 
Anatoly Podgoretsky ©   (2005-07-30 13:43) [6]

ZSergey   (27.07.05 11:13)  
Какой еще SendText для двоичных данных



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

Текущий архив: 2005.11.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
4-1126463830
Still Swamp
2005-09-11 22:37
2005.11.13
Разгородить парралельное исполненийе


14-1129701653
Иксик
2005-10-19 10:00
2005.11.13
Есть ли у нас на форуме кто-нибудь из Симферополя?


4-1124626634
Proger121
2005-08-21 16:17
2005.11.13
Программатор SEEPROM для серии 93Сxx


4-1125041654
user51
2005-08-26 11:34
2005.11.13
блокировка FLASH (сьемного накопителя usb )


14-1130003274
midori
2005-10-22 21:47
2005.11.13
groups.google.ru