Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ВинСокет, как мне минимум сделать? 
:(
    Опции темы
ZC1989
Дата 22.1.2007, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: нет
Всего: 1



нужно просто передавать данные от одного компа к другому по локальной сети, не через и-нет... как это сделать на сокете? я имею на руках несколько исходников, но они не работают правильно...

нужно на Visual C++ до завтра мне минимальный набросок, что бы передать файл и всё... только вот один не ясный момент: как узнать все машины в сети (с клиентской прогой)? что бы им это разослать...


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
hamsterKSU
Дата 24.1.2007, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: нет
Всего: 11



порой на www.rsdn.ru. там есть точно. да и в нете куча литературы. узнать все комты в сети вроде можно бруткастами.
Вот пример нттп сервера на лабах писали когдато может поможет. 

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  HTTPSERVER.rar 19,38 Kb
PM MAIL ICQ   Вверх
ZC1989
Дата 24.1.2007, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: нет
Всего: 1



hamsterKSU, спасибо, покопаюсь... но у меня не http... smile  и вопрос ещё о IP, он ведь обязателен даж в обычной сети, так что делать когда несколько одинаковых программ стоит на 15 компах соединённых сеткой, просто генерировать все 4 числа  как случайные?


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
hamsterKSU
Дата 24.1.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: нет
Всего: 11



нттп сервер - это просто пимер для работы с сокетами, прсто у меня небыло времени чето там вспоминать вот и выслал весь проект. но щас пороюсь посмотрю
PM MAIL ICQ   Вверх
ZC1989
Дата 24.1.2007, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: нет
Всего: 1



hamsterKSU,  smile если не трудно...


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
hamsterKSU
Дата 24.1.2007, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: нет
Всего: 11



значит так список всех компов в локальной сети можно получить изменяя IP адрес в цыкле и пробовать законектится на тот IP - это раз.

PM MAIL ICQ   Вверх
ZC1989
Дата 24.1.2007, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: нет
Всего: 1



hamsterKSU, тоесть нужно перебрать все возможные Ip коннектятся или нет?! smile 


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
hamsterKSU
Дата 24.1.2007, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: нет
Всего: 11



насчет передачи файла возьми воспользуйся 
1. либо открывай файл на чтение читай побайтово и отправляй в сокет
2. либо воспользуйся CSocketFile он многое вместо тебя сделает

PM MAIL ICQ   Вверх
ZC1989
Дата 24.1.2007, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: нет
Всего: 1



hamsterKSU, а где можно конкретные примеры код глянуть? я в нете или обрывки вижу или слишком накрученные варианты


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
hamsterKSU
Дата 24.1.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: нет
Всего: 11



вот это код который опрашивает машины в сети
я меняю только последнюю цифру. 
тебе если надо менять несколько цифр в IP то надо ставить цикл в цикле.
но проблема вследующем -  если машина выключена то происходит задержка на конекте (очучения что подвисла прога). если это тебя не пугает то можно так
Код


for(int i=0;i<=255;i++){
        soc.Create();
        CString str;
        str.Format(_T("10.1.0.%d"),i);
        if(soc.Connect(str,445))
            AfxMessageBox(_T("Connect to ")+str);
        else
            AfxMessageBox(_T("Connect error:")+str);
        soc.ShutDown();
        soc.Close();
}
AfxMessageBox(_T("scan exit"));


Добавлено @ 18:38 
насчет CSockFile заглянь сюда http://megalib.com/books/332/LESSON9/1.html

Это сообщение отредактировал(а) hamsterKSU - 24.1.2007, 19:07
PM MAIL ICQ   Вверх
ZC1989
Дата 24.1.2007, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 468
Регистрация: 17.7.2006
Где: Нижний Новгород; Россия

Репутация: нет
Всего: 1



ну да, в принципе я расчитываю на колличество не большее 15 машин в сети, так что менть последнюю цифру нормально... а что будет скажем если я буду генеррировать это число лучайно и у меня окажется 2 машины в сети с один IP?


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
hamsterKSU
Дата 24.1.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: нет
Всего: 11



блин я чегото не понимаю или как?
Как в сети может быть две машины с одинаковым IP-адресом?????
Как я понимаю на тех машиных, куда ты будешь передавать файлы должен быть прога которая должна слушать некий порт, на который ты будешь конектится и отсылать данные, эта прога будет принимать файлы и сохранять их куда надо.
так вот твоя прога которая будет отсылать файлы сканит сеть выбирает IP адреса компов которые щас включены, потом составляешь список этих компов и отсылаешь данные.
Сокет может конектится не только по IP адресу, но и по имени хоста.
но тот кусок кода немного не подходит, там его надо сделать многопоточным. у меня почти получилось.

Я немного не пойму всетаки как ты можешь генерить рандамом IP адреса на тех машинах куда будешь конектится.

но тебе надо будет еше написать не тольку прогу которая отсылает файлы но и ту которая будет принимать их на том конце


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.