forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Поиск серверов (http://forum.boolean.name/showthread.php?t=4290)

Vyacheslav 29.08.2007 19:34

Поиск серверов
 
У меня возникла такая вот трудность: каким образом можно искать серверы приложений Блица. Вот например, кто-то создал игру, написанную на Блице и стандартный диалог StartNetGame() находит и составляет список серверов.
Если по локалке, то в принципе можно перебирать все айпишники и если команда будет возвращать успешно (т.е. 2), то составлять список (последние значения - это будет от 0 до 255), да?, но а если надо вообще - т.е. и по нету? если писать php-скрипты - можно "подробненько" описать :) ?

Raiter 31.08.2007 05:00

Re: Поиск серверов
 
Для себя я придумал вот такой способ.

У нас есть фтп сервак. Когда мы запускаем сервер, то создаем файл и называем его так же как и сервер. В файл пишем айпи сервака. Еще на фтп у нас имеется список серваков. В этот файл мы опять таки пишем (добавляем, а не заменяем) имя нашего сервера.

Клиент. Получаем файл со списком серверов с фтп. Выводим список. Игрок выбирает сервер. И теперь мы получаем с фтп файл с этим именем и подключаемся по айпи который записан в файле.

Вот и всё :)

jimon 31.08.2007 11:06

Re: Поиск серверов
 
Вложений: 2
смотрим атач

Vyacheslav 01.09.2007 00:59

Re: Поиск серверов
 
С FTP конечно вещь (но не у всех может поддерживаться), но сервер на blitzbasic.com - это ж практически идеально :). Наверняка, встретяться кие-то трудности, но так все выглядет совсем замечательно, а то я уж собирался сам писать пшп-скрипты, искать сервер...


Вот и возникла трудность :). Скорее всего, дело в айпишнике. Если локально с двух компов создать и подключиться - то все нормально. А если один через прокси создал и другой с другой сети (тоже на прокси) - то не пашет ни обыный ай-пи, который определяется при создании и конкретный индивидуальный компьютера, который найден с помощью:
n = CountHostIPs("")
ip = HostIP(1)
ipaddress$ = DottedIP$(ip)

что же делать?

да, и сервер на блицбейсик учебный или "халявный" (и можно использовать в коммерческих целях) ?

jimon 04.09.2007 08:38

Re: Поиск серверов
 
Vyacheslav
леньки самому передать нужный IP ?

Vyacheslav 05.09.2007 01:09

Re: Поиск серверов
 
В том то и дело, что я не знаю, что передавать :dontknow:. Например, я сервер. Есть конкретный айпи моего компа, который я могу посмотреть в свойствах подключения и в Блице с помощью DottedIP$, и есть какой-то внешний, который ж-нет находит и присваивает автоматически. Но я пробовал с другого компа по нету подключаться, вводя вручную и тот и другой айпишники - в обоих случаях "фэйлд", а если не с далекого, а с компа, что на одной локальной сети со мной, то все работает с айпишником, который я вручную нахожу:
n = CountHostIPs("")
ip = HostIP(1)
ipaddress$ = DottedIP$(ip)

:dontknow: :dontknow: :dontknow:

jimon 05.09.2007 08:49

Re: Поиск серверов
 
Vyacheslav
вот тут я не знаю даже :(
у компа в локальной сети должен быть типа внешнего ip (ток хз)
такую инфу мона посмотреть наверно в свойствах подключения
и если туда конект режется, то режется фаерволлом наверно

Raiter 05.09.2007 12:05

Re: Поиск серверов
 
Вложений: 2
Код:

MyIP$ =  GetOutsideIP() ; Получаем внешний айпи машины ;)
Только с проксей пофик ничо не выйдет... Если сервак через прокси - фиг к нему подключишься...

ЛысыЙ_Чук-Иванчук 05.09.2007 12:41

Re: Поиск серверов
 
Цитата:

Сообщение от Raiter
Код:

MyIP$ =  GetOutsideIP() ; Получаем внешний айпи машины ;)
Только с проксей пофик ничо не выйдет... Если сервак через прокси - куй к нему подключишсо...

А если либу заюзать?
Или только сервак(клиент сможет?),???:)

Vyacheslav 05.09.2007 17:17

Re: Поиск серверов
 
2 Raiter:


А можно еще к длл-ке NetIP.decls :) ?
Что я неправильно написал: :)

.lib "NetIP.dll"
GetOutsideIP$():_GetOutsideIP@0

Raiter 05.09.2007 20:21

Re: Поиск серверов
 
Вложений: 2
Цитата:

А можно еще к длл-ке NetIP.decls ?
Ой... Сорь. Забыл. Лови :@

Цитата:

Что я неправильно написал:
Нуно ж айпи в переменную забить, ага ;)

MyIP$ = GetOutsideIP()

Tadeus 05.09.2007 20:40

Re: Поиск серверов
 
Я раньше тож ФТП юзал, терь буду ГНет. Спс jimon ;)

Vyacheslav 05.09.2007 22:35

Re: Поиск серверов
 
Реализовал. Внешний айпи - это второй, который ж-нет находит. Т.е. я тестировал с 2-я IP - "внутренним" и "внешним". Через внешний оно тоже не может настроить соединение - его можно узнать без дополнительных длл-ок - ж-нет само его в списке серверов пишет.
Я вот думаю, что Блиц должен как-то соображать, что юзается прокси и соответственно подключаться. Если он этого не может сделать, то должны быть дополнительные инструментарии, которые правильно установлят соединение. Как вы считаете?

moka 06.09.2007 13:45

Re: Поиск серверов
 
Vyacheslav, таковые имеються, только вот ведь и прокси бывают разные ;)

Vyacheslav 11.09.2007 22:21

Re: Поиск серверов
 
Кстати, K-NET либа разбирается в прокси - я разок пробовал, когда не работало через g-net, и все вроде бы отлично.
Только документацию перечитывал, сайт... так и ничего толком не понял. Написанна на чем-то сомнительном... Кто-то разбирается в этом? - какая структура библиотеки, как она работает; какая лицензия на либу?
Да, и не мог найти, к какому серверу подключается


Часовой пояс GMT +4, время: 09:44.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot