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

  • Автор темы Guest
  • Дата начала
G

Guest

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

lazybiz

Well-known member
03.11.2010
1 339
0
#2

DarkKnight

Well-known member
01.08.2010
653
0
#3
Лучше MFC - реализацию отложить...
Посмотри сначало стандартную работу с Сокетами.... как раз принцип поймешь нормально, а потом уже MFC реализацию смотри, она кстати не намного ушла от стандарта...
 
G

Guest

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

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

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

DarkKnight

Well-known member
01.08.2010
653
0
#5
Добавлено: З. Ы. А сокетами в MFC создать соединение по локальной сети можно?
Конечно можно..... :)))
Добавлено: Цитата:
(lazybiz @ 17:11:2010 - 11:06)




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





Там есть два варианта, по-моему - LPCTSTR и SOCKADDR. С последним я вообще не желаю работать после того как увидел поля структуры. А вот через строку - это можно. Как я понимаю, что-то вроде этого - "192.168.210.111".
Они впринципи все одинаковые, просто обзываются по другому...
Я тебе говорю, попробуй пока на консольных приложениях.... Что бы в принципах разобраться... :)
Кстати посмотри на форуме в разделах C/C++ и Решения Задач C++, за последнюю неделю очень много тем появилось как раз про сокеты...
Поверь найдешь начальную инфу для размышлений
 

lazybiz

Well-known member
03.11.2010
1 339
0
#6
Там есть два варианта, по-моему - LPCTSTR и SOCKADDR.
Ну тут по-моему между этими двумя типами нет ничего схожего... Один - указатель на строку. Второй - структура.
Ты бы сначала почитал получше про сокеты, как они работают и т.п..., а потом можно и до CSocket добраться.
 
G

Guest

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

Ты бы сначала почитал получше про сокеты, как они работают и т.п..., а потом можно и до CSocket добраться.
Я уже почитал.
Вы сами дали мне ссылку:
 

DarkKnight

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

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

Guest

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

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