Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
Уж и не знаю куда писать, то-ли в NET раздел, то-ли в С++.) Пишу IP-клиента на С++ в управляемом коде под System::Net::Sockets. На C# все отработал, теперь пероношу класс клиента в С++. Не понимаю, что происходит, и как с этим бороться? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Про байт потом, а остальные пишут примерно одно и то же - Ошибка C3076 cIPClient::ipEndPoint: нельзя внедрить экземпляр ссылочного типа "System::Net::IPEndPoint" в собственный тип. В справке -"экземпляр": нельзя внедрить экземпляр ссылочного типа "тип" в собственный тип Машинный тип не может содержать экземпляр типа CLR. Что с этим делать? Код перенесен из С# и понемногу правится под срр. "Есть многое на свете, друг Горацио, что и не сразу в голову придет." М. Твен "Приключения Геккельбери Финна" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 20:22 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
Вроде нашлось решение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Теперь, чем заменить тип byte[] bytes;? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 20:55 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
по возможности - забыть менеджед с++ как страшный сон ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 23:44 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
YUBA, попробуйте так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код не компилировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 00:03 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
Пётр Седов, Спасибо, уже сам дошел. Но там дальше пока не пойму. Ругается пока только и на array<Byte>^ bytes, и на cli::array<byte>^ bytes; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 01:00 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
Неожиданно скомпилировалось с Код: plaintext 1. Не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 01:10 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
Следующий затык. На С# было: Код: c# 1. Как это на с++ сказать? надо аналогичный массив определить. С array(Byte) что-то не идет. 1-й затык с переменной msg. Дальше вроде так: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 01:49 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
YUBAУж и не знаю куда писать, то-ли в NET раздел, то-ли в С++.) Пишу IP-клиента на С++ в управляемом коде под System::Net::Sockets. На C# все отработал, теперь пероношу класс клиента в С++. А зачем? Из managed C++ можно вызывать код, написанный на C# http://www.tangiblesoftwaresolutions.com/product_details/csharp_to_cplusplus_converter_details.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 09:28 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
BarloneА зачем? Из managed C++ можно вызывать код, написанный на C# http://www.tangiblesoftwaresolutions.com/product_details/csharp_to_cplusplus_converter_details.html А зачем?, если можно сразу на управляемом С++ писать.) Наверно это кому-то действительно. Ну а мне интересно разобраться в технологии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 14:19 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
IP-клиента на управляемом С++ сделал. Создал консольное приложение Win32, вызываю из него Net класс. Класс создается и присоединяется к серверу. Однако, эту конструкцию победить не могу: Код: plaintext 1. 2. 3. Метод определен как Код: plaintext 1. Пишет: Код: plaintext 1. . Код консоли неуправляемый. Не знаю как быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2017, 22:49 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
В общем, все получилось. Преобразование сторок std::string в System::String и обратно было последней задачей. Преобразование в System::String Код: plaintext 1. И преобразование обратно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. MSDN, естественно. К сожалению, в MSDN полно ошибок или очепаток, потому первые найденные решения не работали, и выдавали ошибки. Но, приведенные, уже правильные. В общем, NET-код нормально работает совместно с неуправляемым, в данном случае NET IP-клиент с неуправляемой консолью. Никаких особых проблем не отмечено - только первый раз трудно, потом привыкаешь.)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2017, 17:36 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
При отладке клиент-сервера возникла следующая проблема. Для проверки восстановления связи клиент или сервер принудительно закрываются, при этом незакрытый клиент(сервер) еще пытаются работать до возникновения Exception, и далее сокет уничтожается, создается вновь и пытается установить связь. После запуска клиента(сервера) они нормально соединяются, однако вся инфа, которую они пытались передавать уже после разрыва связи до возникновения Exception конкатенируется с новой, и, в итоге, одна из сторон в первом сообщении после коннекта получает полный бред. Вопрос в том, где и как почистить этот буфер передачи или, м.б. приема, перед повторным установлением связи? Код уничтожения сокета: Код: plaintext 1. 2. 3. Лучше бы Despose(), но на него выдает ошибку и просит вызвать деструктор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2017, 16:59 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
Я где-то читал, и даже недавно писал на форуме, что NET, это не более чем обертка над обычным нативным кодом. За весь NET не скажу, а большинстве своем это так. Кажется Изопропил в этом сильно усомнился. Я, вслед за ним, тоже стал сомневаться. Однако, сделав смешанную прогу на нативной и NET функциональности, убедился, что это действительно так. Когда я стал обвешивать прjграмму блоками try-catch, моделировать Exceptions, и подробно смотреть точки останова, то открывались h-файлы с точками останова, в которых ничего даже близкого к Framework не было. И даже если смотреть сами исключения, то объясняются они не в рамках NET, а в рамках библиотек Виндовс или MFC. Конечно безумие, писать на С++ программы на смешанном коде, где переменные вначале преобразуются (или самому необходимо это сделать) к NET формату, затем, в глубинах NET, опять преобразуются к формату С++, а на выходе мы имеем опять тот же самый но обратный процесс. Безусловно это некий дурдом, но оч удобный.) Я было попробовал тоже самой сделать на MFC и WinAPI, однако это требует значительно больших усилий как по времени, так и просто по количеству кода. В общем, если мелкосекунды не волнуют, то настоятельно рекомендую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2017, 20:45 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
YUBAКажется Изопропил в этом сильно усомнился тебе показалось )) и ещё один момент - в net от mfc даже запаха нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2017, 20:50 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
Изопропил, А откуда там при Exceptions вылезают MFC-хидеры? Да и в хелпах по номерам исключений вылезают либо Win библиотеки, либо MFC. Как это можно объяснить иначе? Имхо, разумно предположить, что MS не все с нуля делало, а использовало предыдущие наработки, включая и MFC. Хотя, я и не утверждал, что NET построен на MFC, но то, что использует, имхо, очевидно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2017, 21:02 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
YUBAно то, что использует, имхо, очевидно. но неправда. Сорцы доступны. а то что F1 частенько в небо кажет - факт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2017, 21:06 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
Изопропила то что F1 частенько в небо кажет - фактЭт точно. Exception есть, а раздела нет.)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2017, 21:44 |
|
||
|
IP-клиент на managed С++ под NET
|
|||
|---|---|---|---|
|
#18+
YUBAИзопропил, А откуда там при Exceptions вылезают MFC-хидеры? Да и в хелпах по номерам исключений вылезают либо Win библиотеки, либо MFC. Как это можно объяснить иначе? Имхо, разумно предположить, что MS не все с нуля делало, а использовало предыдущие наработки, включая и MFC. Хотя, я и не утверждал, что NET построен на MFC, но то, что использует, имхо, очевидно.Очевидна только твоя безграмотность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2017, 22:31 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39407000&tid=2018271]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 264ms |

| 0 / 0 |
