Использование Csocket

Тема в разделе "MS Visual C++", создана пользователем -, 16 ноя 2010.

  1. Гость

    Здравствуйте! Мне стало интересно использование класса CSocket. Но в MFC я практически ничего не понимаю. Помогите мне, пожалуйста, от структуры SOCKADDR и до отправки/приёма данных. Заранее благодарю за ответы.
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Я тоже.

    Вот тут посмотри если интересно:
    http://www.firststeps.ru/mfc/net/socket/r.php?24

    Не уверен что она там вообще используется...
     
  3. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Лучше MFC - реализацию отложить...
    Посмотри сначало стандартную работу с Сокетами.... как раз принцип поймешь нормально, а потом уже MFC реализацию смотри, она кстати не намного ушла от стандарта...
     
  4. Гость

    Стандартные сокеты смотрел, вообще принцип немного понятен, но вот реализация... Ни одну строку кода из примера я не понял.
    Принцип работы остался абсолютно одинаковым, но вот код изменился - всё ясно и понятно. Вообще с WinAPI приходится очень сильно мучаться, за что я диалоговые окна, например, создаю только с MFC.

    Добавлено:
    Там есть два варианта, по-моему - LPCTSTR и SOCKADDR. С последним я вообще не желаю работать после того как увидел поля структуры. А вот через строку - это можно. Как я понимаю, что-то вроде этого - "192.168.210.111".

    Добавлено: З. Ы. А сокетами в MFC создать соединение по локальной сети можно?
     
  5. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Конечно можно..... :)))
    Они впринципи все одинаковые, просто обзываются по другому...
    Я тебе говорю, попробуй пока на консольных приложениях.... Что бы в принципах разобраться... :)
    Кстати посмотри на форуме в разделах C/C++ и Решения Задач C++, за последнюю неделю очень много тем появилось как раз про сокеты...
    Поверь найдешь начальную инфу для размышлений
     
  6. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Ну тут по-моему между этими двумя типами нет ничего схожего... Один - указатель на строку. Второй - структура.
    Ты бы сначала почитал получше про сокеты, как они работают и т.п..., а потом можно и до CSocket добраться.
     
  7. Гость

    А как искать компы в локальной сети через CSocket? DirectPlay я не юзаю, да и не особо хочу - он даже сложнее сокетов B)
    И чтобы к компу в локальной сети подключиться достаточно знать его IP. Я правильно мыслю?
    Лучше сразу скажите, какие различия в работе сокета по инету и по локальной сети.

    Я уже почитал.
    Вы сами дали мне ссылку:
     
  8. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Смотря для чего, вернее чем именно будет отвечать тот "демон"-сервис который прослушивает этот порт....
    Или же все же искать баги сервиса, а там уже делать все что угодно..... (это как раз обратный принцип заплаток)... Сначало например переполняем буфер, получаем полный доступ, работаем с командной строкой уже самой системы (рассмотрение таких ПО запрешенно данным форумом, так что закроем тему именно на этом)
    На firststeep.ru если честно очень плохо описанны сокеты... Автор сам особо не понимал ссмысл и его статься получилась крайне вырезанной и не исчерпывающей.... (код в постах - не его, уж поверьте)...
    Еще раз Вам скажу, прошерстите этот форум, вы найдете намного больше инфы чем во всем РУ.Нете ....

    Добавлено: Если все же есть такая прям необходимость, давайте вы создадите тему или в этом под-форуме или в http://codeby.net/forum14.html, где поставите задачу, и мы уже совместно с Вами разработаем рабочий проект...
    От Вас же будет требоваться только конкретно поставленная задача:
    "Разработка клиент-серверного приложения на базе технологии сокетов (TCP/IP), где:
    Клиент может выполнять .... (такие то задачи)
    Сервер же в свою очередь (такие то такие задачи)...
    Вот и все... И как раз анализируя практический материал вы сможете полностью разобраться со структурой сокетов и протоколов....
     
  9. Гость

    Да, DarkKnight125, я именно так и сделаю.
    Данные через CSocket я передал, но вот минимальный размер буфера данных - 33 байта. :rolleyes:
    Иначе - abnormal program termination.

    Добавлено: Передача произошла на локальном компе.
     
Загрузка...

Поделиться этой страницей