powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / как подключить COM компоненту CSocket к NET проекту
5 сообщений из 5, страница 1 из 1
как подключить COM компоненту CSocket к NET проекту
    #39022654
Володимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как подключить COM компоненту CSocket к NET проекту.

Я хочу подключить к C# проекту класс CSocket из проекта C++.
Как мне найти компоненту, которую надо подключать?
В C++ MFC проекте присутствует файл
c:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afxsock.h
но он мне не нужен
Я пытался подключать dll
c:\Windows\System32\wsock32.dll
Получается ошибка
В описании класса я не нашёл указания на то, в каком файле находится его реализация
Подскажите пожалуйста.
...
Рейтинг: 0 / 0
как подключить COM компоненту CSocket к NET проекту
    #39022997
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Володимир, не похоже что это COM объект. Скорее обычный С++ класс из библиотеки MFC и он не создавался для использования из .NET. Используй родные классы из пространства имен System.Net.Sockets
...
Рейтинг: 0 / 0
как подключить COM компоненту CSocket к NET проекту
    #39024277
Володимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверно Вы правы
Я пробовал использовать аналогичный .NET объект, но не могу подобрать конструктор из множества возможных вариантов
Дело в том, что конструктор MFC CSocket вызывается с пустым списком аргументов.
А в .NET такого конструктора нет.
Прибор, с которым надо связаться на Windows Embedded и пока для меня закрыт, программист в отпуске подсказать некому.

Если CSocet применить нельзя, остаётся вопрос
Какие настройки поставить для объекта System.Net.Socket:

client = new Socket( AddressFamily.?, SocketType.?, ProtocolType.? );

например

client = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );

если известно что

IPAddress ip = IPAddress.Parse( "192.168.1.153" )
int port = 5123;

.
...
Рейтинг: 0 / 0
как подключить COM компоненту CSocket к NET проекту
    #39024624
Володимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалось приконнектиться и даже прочитать данные
нашлось целых два варианта, чем они отличаются не знаю


client = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP ); //connect успешный
client = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp ); //connect успешный

ну и дальше

client.Send( msg );
int r = client.Receive( dBuf );

осталось добавить деструктор или using ....
спасибо за подсказку
...
Рейтинг: 0 / 0
как подключить COM компоненту CSocket к NET проекту
    #39024641
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Володимир, кроме IP адреса нужно знать по какому протоколу будет идти общение. Скорее всего это будет TCP или UDP. Исходя из этого и выбирай аргументы.
Код: c#
1.
new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);


Также можно использовать готовые классы для работы с TCP и UDP: TcpClient и UdpClient соответственно.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / как подключить COM компоненту CSocket к NET проекту
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]