![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
ссуть такая... нашёл в и-нете пример TCP клиента и сервера... откомпилил, но получаю такую фишку... что мне нужно соебинять копьютеры через LAN совединение, причём пробую я на соединённых машинах без switch'а...
у меня сервер переходит в ожидание подключения, а клиент пишет ошибку соединения... я думаю это из-за настройки сокета... он на INET настроен... что надо сделать, чтоб более менее заставить работать эти два механизма...?? привожу .cpp клиента и сервера Присоединённый файл ( Кол-во скачиваний: 39 ) ![]() -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
люди! пожалуйста! скажите как заставить работать эти творения???
![]() -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
А ты IP адрес сервера у клиента поменял?
-------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
ну в начале IP для соединения 127.0.0.1 а дальше его разве надо менять? зы: этот код не я писал... типа рабочие приемры...
-------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
Видимо тестировались клиент-сервер на одной и той же машине, это нормально
вместо 127.0.0.1 пропиши IP-адрес машины, на которой установлен сервер. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
GremlinProg, а как его узнать? я имею ввиду программно???????
![]() -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
А у тебя много вариантов? Сеть же локальная. Ну используй файл настроек, сохраняй в нем адрес, а программно, читай оттуда. В принципе можно сканировать сеть на поиск своих серверов, был бы смысл.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
GremlinProg, прога должна сама находить IP... чтоб, скажем.... клиент находил сервер автоматом... такое можно? вот к примеру, в играх же, типа Контры, сервант и клиент сами находят IP и соеденяются....
-------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
чтобы просто найти сервер, слушающий порт, достаточно пройтись по заданному диапазону адресов и приконнектиться к каждому, т.е. вызвать connect, если коннект вернет -1, значит сервера на этом адресе нет, иначе - есть. Но чтобы реально проверить тот ли это сервер, нужно придумать маленький запрос-ответ, что-то типа сообщения hello. Это сообщение послать серверу при удачном коннекте и только если на него придет корректный ответ, использовать его в дальнейшем.
Надеюсь, идея понятна. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
GremlinProg, ага.... идею понял.... только вот как это ворганить программно пока не догоняю.... за исключением connect....хе....
![]() Добавлено через 1 минуту и 11 секунд это идея на будущее... а как можно конкретно запустить мои клиента и сервер?поменять IP? на что поменять тогда??? -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
либо запусти обе программы на одной машине, либо на разных, но тогда в коде клиента поменяй SERVERADDR на IP машины сервера, т.е. той, на которой серверная программа будет запущена. Больше менять вроде ни чего не нужно.
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
GremlinProg, на одной машине пашет.... я так понимаю узнать IP машины можно заглянув в настройки подключения...да?
-------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
ну конечно, Панель управления -> Сеть и подключения к интернету -> Сетевые подключения там найдешь. Или Пуск -> Выполнить, набери cmd, в нем набери ipconfig /all строка IP-адрес
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
GremlinProg, сам догадался.... хе....есть ещё мозги....
это у меня получилось! круто-то как! хе... ![]() а как узнать диапазон адресов, в которых надо сканировать порт??? -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 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 -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
ZC1989 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
GremlinProg, мать моя женьщина... жестока.... но понял... буду пробовать... пасибо!!!
![]() ![]() -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |