|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.11.2011, 10:19 | #1 |
Форумчанин
Регистрация: 25.08.2011
Сообщений: 140
|
Клиент-сервер
Есть клиент-сервер. Хочу что бы он передавал не только одно значение а буфер. То есть что бы сразу было переданно несколько edit ов. Как понимаю только через буфер возможно реализовать но встает проблема как преобразовать string в byte, пробовал менять тип буфкра не помогает. Так же сам варианты преобразования. Как все мимо. Числа передаются без проблем а вот буквы ни в какую.
|
15.11.2011, 10:58 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Я вас удивлю, но стринг и есть массив байт.
|
15.11.2011, 11:05 | #3 |
Форумчанин
Регистрация: 25.08.2011
Сообщений: 140
|
http://pblog.ru/?p=91
в частности это: Это и все, что нужно сделать. Обратите внимание на то, что если не отключать принятие сообщения (Socket.ReceiveText()) и попытаться одновременно принять и сообщение и буфер, то это приведет к потере данных одной из функций. Решить эти проблемы можно за счет перевода сообщения в формат буфера вот так: Код:
Код:
|
16.11.2011, 08:31 | #4 |
Пользователь
Регистрация: 06.02.2011
Сообщений: 30
|
« Amor Componentis Nos Unit »
|
16.11.2011, 09:11 | #5 |
Форумчанин
Регистрация: 25.08.2011
Сообщений: 140
|
09:11
Спасибо конечно но мне скорее нужен string, просто цифры я и сам могу передать, мне нужны буквы для передачи. 09:22 понял. Спасибо. Красные жирные циферки видны ? Это время, когда вы отправляли свои сообщения друг за другом, подряд. У нас есть кнопка "Правка". Читаем правила раздела. По правилам это приравнивается к флуду. Последний раз редактировалось mihali4; 16.11.2011 в 23:32. |
16.11.2011, 16:07 | #6 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Зод, статью, на которую вы дали ссылку, написана для общего ознакомления. Чтобы корректно передавать и строковые данные и числовые, да, в общем-то любые, нужно организовать правила пакетирования и состав пакета. В одном пакете вы можете передавать смешанные данные, нужно только задать правило сбора данных. Что идет первыми байтами, где строки где числа по порядку.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
16.11.2011, 21:52 | #7 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
А кто мешает передать через Stream (StringStream, MemoryStream,)
|
17.11.2011, 15:50 | #8 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Stream хорош для передачи файлов. Пакет все равно передается байтовым буфером, и все равно нужно собирать данные в пакет вручную. В случае с массивом байт не нужно создавать поток, не нужно следить за текущей позицией, не нужно вызывать процедуры чтения и записи в поток, освобождать тоже не нужно. У вас есть стандартный массив байт, строгого размера, заполняйте подряд по правилам вашего протокола и отсылайте. Остаток пакета, если данных меньше, пусть так и заполнен мусором. Используйте стандартный размер пакета (строгие команды не являются динамическими данными): 2, 4, 8, 16, 32, 64, 128, 256 байт.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
24.11.2011, 22:27 | #9 |
Форумчанин
Регистрация: 25.08.2011
Сообщений: 140
|
И все же какие правила пакетирования могут существовать?
Мне вот главное запихнуть слово в буфер. Как понимаю нужно поменять тип и размер буфера. Сделал. Но как принять такой буфер? У меня получается что первый 3 цифры пишутся на Buf[0] остальное на Buf[1] это если их 6, если 8 то по 4 на буфер. Как этим вообще можно управлять? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как отправить видео захват(с веб-Кам.) Клиент->Сервер->Клиент | RODNOC | Мультимедиа в Delphi | 17 | 03.10.2010 22:31 |
Клиент->Сервер->Клиент | RODNOC | Работа с сетью в Delphi | 0 | 25.09.2010 11:49 |
сервер+клиент+клиент на телефон | Razyiller | Работа с сетью в Delphi | 3 | 01.04.2010 20:10 |
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? | Demol | Работа с сетью в Delphi | 1 | 21.04.2009 16:18 |