Вопрос по работе с сетью в Visual Studio 2010

  • Автор темы daffinus
  • Дата начала
D

daffinus

Ситуация следующая: требуетя сделать программу, которая может передавать-получать данные по сети, грузить их в массив и выводить содержимое этого массива в виде графика.
Сделал CLR-проект, сделал вывод графики, ещё несколько доп. функций *не относящихся к теме*, временно сделал загразку в массив из файла *просто проверял работоспособность графики*. Сейчас уже пора делать сетевые компоненты, и вот тут я сел в лужу. В MFC-проектах работа с сокетами (нужно сделать передачу по udp-протоколу) и IP адресами проста - там есть и классы и компоненты. В CLR проект добавить MFC-классы нельзя, как быть- хз. Кто в теме,посоветуйте, пожалуйста, что творить и как. *Пытался вручную прописать класс CSocket в проекте - не пашет ;)*
 
D

daffinus

А чуть подробнее можно *где почитать про это,например*? Я с сетью раньше не работал, только однажды udp-клиент через mfc делал.
 
S

Sekt

Boost asio.
Скачайте boost последней версии и установите у себя.
В папке asio/examples есть примеры с работой в сети.
Вам нужно будет узнать такие понятия как session(start,stop/listen),socket & handler.
 
D

daffinus

Спасибо! Сейчас буду качать и разбираться.
 
D

daffinus

Установил Boost. Прописал пути к либам и хидерам в проекте. Попробовал сделать консольное приложение - всё пашет. Влепил всё то же самое в CLR - ругается, что пространство имён boost не описано.
В cpp файл вставил:


#include <boost/array.hpp>
#include <boost/asio.hpp>
#include <ctime>
#include <iostream>
#include <string>

using boost::asio::ip::udp;

в h-файл:

using boost;
using boost::asio::ip::udp;

Не компилится. Что можно переделать или где про это почитать? Вменяемого руководства на русском по вставке boost в clr application не обнаружил
 
D

daffinus

"'boost' : a namespace with this name does not exist" - вот основная ошибка. Все остальное - как следствия - не может понять компоненты и переменные. В Гугле решения этой проблемы не нашёл. Проверил - файл array.hpp содержит описание пространства имён boost, хз в чём косяк :(
Есть идея сделать отдельную dll-ку с функцией работы с сокетом, как думаете, поможет?
 
R

Rififi

daffinus

using boost;

using namespace boost;

а вообще, боост тебе не нужен. .NET Framework содержит всё необходимое для работы с сетью. ознакомься с пространством имён System.Net
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!