![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Skywalker |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 17.11.2003 Где: Днепропетровск, У краина Репутация: нет Всего: 2 |
Еще раз здравствуйте
На этот раз у меня 2 вопроса: 1) Можно ли послать какой-либо запрос на весь диапазон ай-пи?(широкое вещание)(Простот как сетевые игры узнают что есть другие клиенты этой игры в сети?) 2)Можно ли TcpListenerу добавить событие, например Pending ? Если да то как? Заренее благодарен за вашу помощь... -------------------- "Мы в ответе за тех, кого приручили" Антуан де Сент Экзюпери, Маленький принц |
|||
|
||||
| Kurt |
|
||||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Прости, я слабовато разбираюсь в этой области, что ты подразумеваешь под "послать запрос"? Соединение через сокеты? Не понимаю немного смысла вопроса.. Если тебе надо, чтобы клиенты игры узнавали о других клиентах, не проще ли выделить некий сервер (его IP всегда известен), к-й будет хранить информацию о других клиентах и выдавать по мере надобности..
Поясни, пожалуйста, (как я уже говорил, я с этим еще не работал..) что такое pending. Следует ли понимать твой вопрос как "как добавить к классу новое событие"?. Если да, то могу отписать общий ответ, не привязываясь к TcpListener'у. Или что-то другое имеется ввиду?.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
||||
|
|||||
| Skywalker |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 17.11.2003 Где: Днепропетровск, У краина Репутация: нет Всего: 2 |
по вопросу 1:
Просто понимаешь, сетвые игры как-то узнают какие карты(например quake3) были созданы... по вопросу 2: Как можно классу добавить событие? Это сообщение отредактировал(а) Skywalker - 8.5.2004, 07:42 -------------------- "Мы в ответе за тех, кого приручили" Антуан де Сент Экзюпери, Маленький принц |
|||
|
||||
| stron |
|
|||
![]() Консультант ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1654 Регистрация: 17.7.2003 Где: Питер Репутация: 4 Всего: 36 |
Если ничего не напутал (уже многое забыл), то Они посылают широковещательные пакеты. В каждой сети есть IP зарезервированный для этой цели Напр.: сеть 192.168 / 16, т.е. 192.168.0.1 - 192.168.255.255, так в ней ip 192.168.255.255-широковещательный вообще-то про эти тонкости лучше поспрашивать в соотв. форуме А на клиенте сидит прога, кот. слушает какой-нибудь порт -------------------- подписи нет |
|||
|
||||
| Kurt |
|
||||||||||||||||||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Как добавить событие в класс? ИМХО, не сложно.
Первое, что нужно сделать, это объявить делегата, чтоб вызывать нужный нам метод при срабатывании события. Это делается, например, так (ессно, string-параметр тут тока для примера - но это не важно): C#
VB.NET
Managed C++
Далее следует непосредственно объявления событий, с помощью ключевого слова event ("EqualNumbers" - так называется мое событие): C#
VB.NET
Managed C++
Все. Теперь осталось сгенерировать добавленное событие в теле какого-нибудь метода класса, просто вызвав EqualNumbers. Чтобы было понятнее, я написал небольшой пример. Тут 2 класса - один непосредственно содержит событие, а другой навешивает на него обработчик и выдает сообщение при его срабатывании. Здесь событие генерируется, когда в цикле сучайная величиа совпадет с заданной (после этого я сразу выхожу из цикла - тут незачем дальше работать..). Все. Единственное, что хотелось бы добавить, что новые события, конечно, могут быть и классов-наследников - это вовсе не обязательно новый класс. C#
VB.NET
Managed C++ (я для простоты не стал выделять хедер..)
Все. Надеюсь, кому-нибудь поможет. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
||||||||||||||||||
|
|||||||||||||||||||
| $T@L!N |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.1.2004 Репутация: нет Всего: нет |
Kurt
Спкасибо большое, попробую разобраться |
|||
|
||||
| $T@L!N |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 27.1.2004 Репутация: нет Всего: нет |
сообщение выше от Ская, я просто у друга сижу....
|
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Да не за что.
Давай разбирайся! Правда, мне бы очень хотелось узнать результат "разборок". З.Ы. Потом мне пришлешь свою игру. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Skywalker |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 17.11.2003 Где: Днепропетровск, У краина Репутация: нет Всего: 2 |
Дело в том что я сейчас просто учусь, я не игру делаю
-------------------- "Мы в ответе за тех, кого приручили" Антуан де Сент Экзюпери, Маленький принц |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |