|
0 / 0 / 0
Регистрация: 18.09.2009
Сообщений: 4
|
|
Не могу отправить данные к серверу18.09.2009, 09:50. Показов 2779. Ответов 12
Метки нет (Все метки)
Добрый день..
Есть протокол MMP mail agent http://agent.mail.ru/ru/developers/licence.html- вот его описание Создаю сокет ,устанавливаю соединение , разобрался как формировать заголовок, далее отправляю пакет HELLO , приходит правильный ответ ASK со всеми параметрами , далее необходимо авторизоваться ...вот тут у меня проблемка... не знаю как правильно отправлять текстовые и числовые данные после заголовка... " Все числовые данные передаются как четырехбайтные целые НЕ в сетевом формате, т. е. первым идет старший байт, последним младший. Четырехбайтовые беззнаковые целые обозначаются UL. Текстовые данные передаются с префексированной длиной, т. е. сначала UL, а потом строка (в кодировке windows-1251) длины UL без завершающего нуля. Обозначение в дальнейшем - LPS." Скажем , указав длину пакета в заголовке , я начинаю отправлять данные через функцию send int send (s, buf, len, flags) int s; char *buf; int len; int flags; Сначала надо отправить UL с длиной следующей строки... я не совсем понимаю как это сделать.. ведь данные будут отправляться в UL и как они будут преобразовываться к const char* -C++ ругается... я также пробовал отправлять в виде структуры этот тип также не получается.... Если кто не поленился заглянуть в описание протокола , подскажите что делать..
0
|
|
| 18.09.2009, 09:50 | |
|
Ответы с готовыми решениями:
12
Не могу отправить запрос GET к серверу Не могу отправить данные с МК на РС по USARTu(Atmega8535) Не могу отправить данные POST -ом в приложение |
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
| 18.09.2009, 10:58 | |||||||||||
|
сначала всё формируешь, потом отправляешь поток байт
буферы можно и по переменным разбирать и на экран выводить
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 18.09.2009
Сообщений: 4
|
|||||||||||
| 18.09.2009, 12:11 [ТС] | |||||||||||
|
Я делаю так
MRIM_CS_LOGIN_ACK 0х1004 MRIM_CS_LOGIN_REJ 0x1005 Добавлено через 6 минут Да вообще при обращениях к любым свойствам answer2.dlen и т.д выдает этот ответ Добавлено через 42 секунды А длина полученных данных len2 = 0 Добавлено через 29 минут Да и почему если я делаю так
ругается что cannot convert from 'char [x]' to 'char [y]'
0
|
|||||||||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||
| 19.09.2009, 10:58 | |||||||
|
ты посылаешь структуры, а посылать надо массивы байтов
и уже потом посылать эти данные из буфера ты не посылаешь структуры, send всё равно в сокет пишет байты
0
|
|||||||
|
0 / 0 / 0
Регистрация: 18.09.2009
Сообщений: 4
|
||||||
| 19.09.2009, 12:27 [ТС] | ||||||
|
Т.е надо , грубо говоря , надо создать одну структуру , в потом заполнить её , а потом отправлять ...в один присест функцией send?
Добавлено через 1 час 18 минут
0
|
||||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||||||||||||||||||||||
| 20.09.2009, 09:06 | |||||||||||||||||||||||||||||||
|
серверу всё равно по частям приходит или всё сразу
можно вообще сделать сперва
тут собственный пример, как всё работает, когда все интерфейсы уже построены
запрашивает страницу и ответ выводит на NULL (это значит на stdout) это построено на MsgBuf'ах, они спрятаны внутрях это почищенная (типы приведены к единой форме, лишние буферы убраны)
и ответ к ней
0
|
|||||||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 18.09.2009
Сообщений: 4
|
|
| 20.09.2009, 14:39 [ТС] | |
|
Ух...авторизовался....
![]() Сейчас буду пробовать отправить сообщение =)
0
|
|
|
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 8
|
||||||
| 02.12.2009, 22:27 | ||||||
|
Здравствуйте! Я столкнулась почти с такой же проблемой, как в заголовке темы.
Описываю суть: есть две части одной программы (они разделены в потоках), 1-я половина читает данные с сетевой карты (пользуюсь сырыми сокетами), а вторая должна отправлять данные. Вот с этим-то и проблема! Функция connect проходит на "ура" (коннектиться получается), а данные не отправляются (send возвращает -1). 1) Почему это может происходить? 2) Я читала два разных мнения: -что нельзя отправить данные, пользуясь сырыми сокетами (это по-просту не получится) -и наоборот, что данные должны отправляться. В сети полно примеров с использованием потоковых сокетов, но при использовании их данные даже не читались. Надеюсь на вашу поддержку! Буду благодарна за любую помощь. Код отправки данных на всякий случай прилагаю (ОС WinXP, компилятор С++ Builder 6.0)
0
|
||||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||||||||||||
| 03.12.2009, 02:34 | |||||||||||||||||||||
и, похоже, она даже не дойдёт до туда
0
|
|||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 8
|
|
| 05.12.2009, 23:19 | |
|
Не заработало
![]() Может быть, сырые сокеты не позволяют выполнить отправку данных?
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
| 06.12.2009, 08:49 | |
|
не, они позволяют, только там надо, вроде, пакет вручную собирать
у меня по udp отправилось (без сборки), но за bind ить и принять не получилось хотя в нете пишут, что за bind ить можно
0
|
|
|
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 8
|
|
| 21.12.2009, 10:16 | |
|
все заработало! данные передаются!
хочу попробовать сделать то же самое с использованием winpсap. столкнулась с такой ошибкой в файле types.h: error Make sure bool, true and false are defined even when using the C compiler. Почему она может возникать? Драйвер скачан, все программы поставлены.
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
| 21.12.2009, 11:59 | |||||||||||
|
в C подключить stdbool.h
лучше, конечно, писать в одном языке
там и правила написания различаются
0
|
|||||||||||
| 21.12.2009, 11:59 | |
|
Помогаю со студенческими работами здесь
13
Не могу отправить данные при нажатии на кнопку
Отправить команды серверу Отправить команды серверу Отправить серверу строчку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|