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

Поиск:

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


Опытный
**


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

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



ссуть такая... нашёл в и-нете пример TCP клиента и сервера... откомпилил, но получаю такую фишку... что мне нужно соебинять копьютеры через LAN совединение, причём пробую я на соединённых машинах без switch'а...

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

привожу .cpp клиента и сервера

Присоединённый файл ( Кол-во скачиваний: 39 )
Присоединённый файл  _______________.zip 3,50 Kb


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


Опытный
**


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

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



люди! пожалуйста! скажите как заставить работать эти творения??? smile 


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


Опытный
**


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

Репутация: 9
Всего: 14



А ты IP адрес сервера у клиента поменял?


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
ZC1989
Дата 3.5.2007, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну в начале IP для соединения 127.0.0.1     а дальше его разве надо менять?    зы: этот код не я писал... типа рабочие приемры...


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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



Видимо тестировались клиент-сервер на одной и той же машине, это нормально
Цитата

#define SERVERADDR "127.0.0.1"

вместо 127.0.0.1 пропиши IP-адрес машины, на которой установлен сервер.


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
ZC1989
Дата 3.5.2007, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



GremlinProg, а как его узнать? я имею ввиду программно??????? smile 


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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



А у тебя много вариантов? Сеть же локальная. Ну используй файл настроек, сохраняй в нем адрес, а программно, читай оттуда. В принципе можно сканировать сеть на поиск своих серверов, был бы смысл.


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
ZC1989
Дата 3.5.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



GremlinProg, прога должна сама находить IP... чтоб, скажем.... клиент находил сервер автоматом... такое можно? вот к примеру, в играх же, типа Контры, сервант и клиент сами находят IP и соеденяются....


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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



чтобы просто найти сервер, слушающий порт, достаточно пройтись по заданному диапазону адресов и приконнектиться к каждому, т.е. вызвать connect, если коннект вернет -1, значит сервера на этом адресе нет, иначе - есть. Но чтобы реально проверить тот ли это сервер, нужно придумать маленький запрос-ответ, что-то типа сообщения hello. Это сообщение послать серверу при удачном коннекте и только если на него придет корректный ответ, использовать его в дальнейшем. 

Надеюсь, идея понятна.


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
ZC1989
Дата 3.5.2007, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



GremlinProg, ага.... идею понял.... только вот как это ворганить программно пока не догоняю.... за исключением connect....хе.... smile

Добавлено через 1 минуту и 11 секунд
это идея на будущее... а как можно конкретно запустить мои клиента и сервер?поменять IP? на что поменять тогда???


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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



либо запусти обе программы на одной машине, либо на разных, но тогда в коде клиента поменяй SERVERADDR на IP машины сервера, т.е. той, на которой серверная программа будет запущена. Больше менять вроде ни чего не нужно.


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
ZC1989
Дата 3.5.2007, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



GremlinProg, на одной машине пашет....     я так понимаю узнать IP машины можно заглянув в настройки подключения...да?


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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



ну конечно, Панель управления -> Сеть и подключения к интернету -> Сетевые подключения там найдешь. Или Пуск -> Выполнить, набери cmd, в нем набери ipconfig /all строка IP-адрес


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
ZC1989
Дата 3.5.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



GremlinProg, сам догадался.... хе....есть ещё мозги.... 

это у меня получилось! круто-то как! хе... smile 

а как узнать диапазон адресов, в которых надо сканировать порт???


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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

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



вызови функцию GetAdaptersInfo, она заполняет структуру IP_ADAPTER_INFO, в ней IpAddressList - это список всех адресов, ассоциированных с сетевым адаптером. Адрес состоит из 2-х компонент: сам адрес и его маска, маска, наложенная на адрес с помощью оператора AND (&) даст тебе адрес твоей сети, например: 192.168.5.0 Вот этот ноль как раз нам и говорит о диапазоне, это все равно, что написать в поиске "*.txt", т.е. тут вместо звездочки - любое имя, а в адресах - любое число от 0 до 255.
Остается только организовать цикл по этому диапазону, ну, там надеюсь сам додумаешь.

Это сообщение отредактировал(а) GremlinProg - 3.5.2007, 22:56


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
ZC1989
Дата 3.5.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



GremlinProg, мать моя женьщина... жестока.... но понял... буду пробовать... пасибо!!! smile  smile 


--------------------
озарение настанет позже, когда поймём больше... (Сo. Stigmata)
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




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


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

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