5 / 5 / 0
Регистрация: 26.03.2015
Сообщений: 37
1

Сокеты и unmanaged

08.01.2019, 05:10. Показов 1106. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть ли в чистом С# возможность отправить с помощью сокетов, unmanaged массив байт.

Что-то похожее
C#
1
2
3
4
5
byte* buffer = (byte*)Marshal.AllocHGlobal(1024);
 
Socket sock; 
 
sock.Send(buffer); // только byte[]
Разумеется без копирования в byte[] с аллокацией иначе какой смысл вообще в byte*.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2019, 05:10
Ответы с готовыми решениями:

Структуры в unmanaged dll
Доброго времени суток! В проекте производится много вычислений. Хочу написать unmanaged dll для...

Что такое unmanaged ресурсы?
Что такое unmanaged и managed ресурсы? Обьясните простыми словами пожалуйста.

Скорость вызовов managed unmanaged
Подскажите пожалуйста, какие вызовы между управляемым и неуправляемым кодом быстрее и насколько...

Конвертирование unmanaged переменных в Object-ы
У меня есть 3 unmanaged переменных: unsigned int iID; char *chState; eResult eRes; Мне...

1
Эксперт .NET
6451 / 4053 / 1598
Регистрация: 09.05.2015
Сообщений: 9,481
08.01.2019, 05:58 2
Лучший ответ Сообщение было отмечено Usaga как решение

Решение

Что-то подобное есть в .NET Core. Можно создать Span<byte> из выделенной с помощью Marshal.AllocHGlobal памяти и отправить с сокет, для этого там есть соответствующая Span перегрузка.
C#
1
2
3
4
5
6
7
IntPtr pData = Marshal.AllocHGlobal(1024);
// Span - структура, а значит не создает мусора, который должен подчищать GC...
Span<byte> data = new Span<byte>((void*)pData, 1024);
 
// ...
 
sock.Send(data);
И вообще в .NET Core полно всяких улучшений в плане производительности по сравнению с .NET Framework и другими реализациями .NET, так что все переходите на .NET Core.
0
08.01.2019, 05:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2019, 05:58
Помогаю со студенческими работами здесь

Php сокеты и unix-сокеты
Здравствуйте, есть программа, написанная на С под Linux. При её работе в памяти хранятся несколько...

Использование unmanaged dll в ASP.NET
Здравствуйте! Использую в проекте ASP.NET MVC dll-ку на unmanaged c++. На локальной машине всё...

Как вызвать из C# объект в C++/CLI managed/unmanaged?
Моя попытка. Использую MS Visual Studio 2008 SP1. После компиляции/компоновки запуск Main.exe даёт...

Как вызвать с помощью команды Calli(MSIL) процедуру из unmanaged DLL
Задача в том чтобы написать на MSIL процедуру вызова функции из unmanaged DLL не прибегая к...

Не получается подключить библиотеку Unmanaged.dll (Firefox nss3.dll)
Здравствуйте, начал изучать c#, очень понравилась тема декриптования, для начала решил из...

Неуправляемый код (unmanaged code) в управляемом коде (managed code)
Товарищи! Прошу Вашей профессиональной помощи. 1. Что происходит в блоке выделенным красным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru