2015-07-23 5 views
1

Я уже довольно внимательно изучал учебное пособие по христианской программе Richards Photon Server, исправляя ошибки здесь и там. Я наткнулся на то, что даже не выдает ошибки, но это не значит, что это должно быть. В конце учебника (эпизод фотона 14) Кристиан показывает нам, что суб-сервер должен быть зарегистрирован и показан в журналах. Когда я строю свой проект, а затем открываю его с помощью управления фотоном, журналы показывают все, кроме этого. Журналы не вызывают ошибок, но не отображают, какими они должны быть. Например, журнал прокси ДОЛЖЕН говорить о том, что он получил запрос на регистрацию, но он этого не делает, а также логин, говорящий, что «нет существующего обработчика ответов».Photon Framework - отказ в регистрации подсервера (CJR Gaming Tutorials)

ComplexServer Log:

48068: 19: 56: 46,598 - Сервис: "Фотон Сокет сервера" начиная 48068: 19: 56: 46,598 - Файл конфигурации: C: \ Фотон \ развернуть \ bin_Win64 \ PhotonServer.config 48068: 19: 56: 46.599 - Будет производиться максимум: 10 аварийных дамб 48068: 19: 56: 46.599 - Действие: запустить как exe 48068: 19: 56: 46.600 - Начальный сервер ... 48068: 19: 56: 46.600 - Кол-во записей: 42761421 (обертывание: 49.2153 дней) 48068: 19: 56: 46.600 - Кол-во просмотров: 42761421 48068: 19: 56: 46.600 - версия фотона: 3.4.8.2804 48068: 19: 56: 46.600 - PID: 45344 48068: 19: 56: 46.600 - Файл конфигурации: C: \ Photon \ deploy \ bin_Win64 \ PhotonServer.config 48068: 19: 56: 46.601 - НЕ регистрирует несущественные исключения 48068: 19: 56: 46.604 - Не использовать счетчики производительности, поскольку они в настоящее время не установлены. Запустите службу с помощью/InstallCounters, чтобы установить их. 48068: 19: 56: 46.604 - Тайм-аут выключения включен: 30000ms 48068: 19: 56: 46.604 - Пуск пула ввода-вывода с двумя резьбами 48068: 19: 56: 46.604 - Использование Стандартный распределитель 48068: 19:56: 46.604 - Максимальный размер сообщения: 512000 48068: 19: 56: 46.604 - запуск пула потоков бизнес-логики с помощью следующих настроек: 48068: 19: 56: 46.604 - InitialThreads: 4 потока 48068: 19: 56: 46.604 - MinThreads: 4 резьба 48068: 19: 56: 46.604 - Бассейн для головок фиксированный размер 48068: 19: 56: 46.604 - Запуск ENet thread пул со следующими настройками 48068: 19: 56: 46.604 - InitialThreads: 2 темы 48068: 19:56 : 46.604 - MinThreads: 2 нити 48068: 19: 56: 46.604 - пул потоков фиксированный размер 48068: 19: 56: 46.604 - OnlyDispatchTimers: False 48068: 19: 56: 46.604 - S2S: управление потоком: Макс. ожидающие записи: 50 48068: 19: 56: 46.604 - S2S: управление потоком: Макс. В очереди Буферы: 200 48068: 19: 56: 46.604 - S2S: управление потоком: Макс. Ожидающий пишет MUX: 500 48068: 19: 56: 46.604 - S2S: управление потоком: Макс. В очереди Буферы MUX: 2000 48068: 19: 56: 46.604 - S2S: MaxInboundMessageSize: 512000 48068: 19: 56: 46,604 - S2S: MaxOutboundMessageSize: 512000 48068: 19: 56: 46,604 - S2S: Нет неактивности 48068: 19: 56: 46,607 - WebSocket S2S: MaxInboundMessageSize: 512000 48068: 19: 56: 46,607 - WebSocket S2S: MaxOutboundMessageSize: 512000 48068: 19: 56: 46.607 - WebSocket S2S: таймаут бездействия 48068: 19: 56: 46.607 - макс. Надежные данные в транзите (ожидающие ACK) на одноранговое соединение: 51200 байт 48068: 19: 56: 46.607 - Ограничение полосы пропускания на одноранговой сети 48068: 19: 56: 46.607 - Передача Ограничение по скорости: 256 КБ/сек 48068: 19:56: 46.607 - Предельный период: 200 мс 48068: 19: 56: 46.607 - Предел за период: 52428 байт 48068: 19: 56: 46.607 - Максимальные данные в очереди для передачи на одноранговое соединение: 512000 байт 48068: 19: 56: 46.607 - Минимум тайм-аут повторной передачи: 200 48068: 19: 56: 46.607 - Максимальный интервал повторной передачи 48068: 19: 56: 46.607 - Минимальный тайм-аут ENet: 5000мс 48068: 19:56:46.607 - Максимум ENet Таймаут: 30000 мс 48068: 19: 56: 46.607 - Максимальные входящие достоверные данные Очередь (ожидание повторения более ранних порядковых номеров) на одноранговое соединение: 163840 байт 48068: 19: 56: 46.607 - Нет тайм-аута настройки тайм-аута ACT 48068: 19: 56: 46.607 - исходящий ENet: MaxInboundMessageSize: 512000 48068: 19: 56: 46.607 - исходящий ENet: MaxOutboundMessageSize: 512000 48068: 19: 56: 46.609 - GetRuntime - О загрузке CLR-версий доступно: 48068 : 19: 56: 46.609 - v2.0.50727 48068: 19: 56: 46.609 - v4.0.30319 48068: 19: 56: 46.609 - Запросы на конфигурацию: "v2.0.50727" 48068: 19: 56: 46.609 - О загрузке версия: "v2.0.50727" 48068: 19: 56: 46.611 - О загрузке времени выполнения: PhotonHostRuntime.PhotonDomainManager из PhotonHostRuntime, культура = нейтральной, PublicKeyToken = 02C301B61B060C4D 48068: 19: 56: 46,611 - CLRBaseDirectory установлен в "C: \ Фотон \ развернуть" 48068: 19: 56: 46,612 - Оптимизация трансляции событий для 20 или больше пэров 48068: 19: 56: 46.612 - Начало: О загрузке CLR - доступно: 48068: 19: 56: 46.612 - v2.0.50727 48068: 19: 56: 46.612 - v4.0.30319 48068: 19:56: 46.612 - Нет Предпочтение в конфигурационном файле, будет загружено последним. 48068: 19: 56: 46.612 - О загрузке версии: «v4.0.30319» 48068: 19: 56: 46.613 - Загруженная версия: «v4.0.30319» 48068: 19: 56: 46.880 - Загружено время загрузки фотона 48068: 19: 56: 53.045 - ЛИЦЕНЗИЯ: файл лицензии не был найден . Начиная с лицензии Bootstrap. 48068: 19: 56: 53.045 - Действительна лицензия . 48068: 19: 56: 53.045 - Лицензия на 20 одновременных подключений . 48068: 19: 56: 53.045 - ENet: Максимальные надежные данные при транзите (ожидающие ACK) на одноранговое соединение: 51200 байт 48068: 19: 56: 53.045 - ENet: на ограничение полосы одноранговой сети 48068: 19: 56: 53.045 - ENet: Ограничение скорости передачи: 256 KB/Sec 48068: 19: 56: 53.045 - ENet: Предельный период: 200 мс 48068: 19: 56: 53.045 - ENet: Ограничение за период: 52428 байт 48068: 19: 56: 53.045 - ENet : Макс. Количество поставленных данных для передачи на одноранговое соединение: 512000 байт 48068: 19: 56: 53.045 - ENet: минимальный тайм-аут повторной передачи: 200 48068: 19: 56: 53.045 - ENet: минимальный тайм-аут: 5000мс 48068: 19: 56: 53.045 - ENet: Максимальный тайм-аут: 30000ms 48068: 19: 56: 53.045 - ENet: Макс. Входящий Надежные данные в очереди (ожидание повторных ранних порядковых номеров) за одноранговое соединение: 163840 bytes 48068: 19:56:53. 046 - О загрузке Приложение: Прокси от ComplexServer 48068: 19: 56: 53.046 - Авто перезапуск разрешен для приложения, существующие соединения будут завершены во время перезагрузки 48068: 19: 56: 53.046 - Приложение будет перезапустить 1000 мс после обнаружено последнее изменение 48068: 19: 56: 53.046 - Приложение будет перезагружено, если будут изменены файлы, соответствующие следующим: «dll; config» 48068: 19: 56: 53.046 - Приложение не будет перезагружено, если изменены файлы, соответствующие следующим: «log4net.config» 48068: 19: 56: 53.201 - Получение ссылки на домен приложения по умолчанию 48068: 19: 56: 53.351 - Приложение: «Прокси» запущен в домене приложения: 2 48068: 19: 56: 53.351 - О программе для загрузки приложения: Логин с LoginServer 48068: 19: 56: 53.351 - Автоматический перезапуск разрешен для применения, Существующие соединения будут завершены во время перезагрузки 48068: 19: 56: 53.351 - Приложение перезапустится через 1000 мс после последнего изменения. обнаружено 48068: 19: 56: 53.351 - Приложение перезапустится, если файлы изменены следующим образом: «dll; config» 48068: 19: 56: 53.351 - Приложение не будет перезагружаться, если следующие файлы: изменено: «log4net.config» 48068: 19:56 : 53.491 - Принимая ссылку на доменное приложение по умолчанию 48068: 19:56:53.613 - Заявление: «Вход» начато в домене приложения: 3 48068: 19: 56: 53.613 - О загрузке приложения: CounterPublisher от CounterPublisher 48068: 19: 56: 53.613 - Auto перезапуск разрешен для приложения, существующие подключения будут завершено во время перезагрузки 48068: 19: 56: 53.613 - приложение будет перезапустить 1000 мс после обнаружения последнего изменения 48068: 19: 56: 53.613 - Приложение перезапустится, если изменены файлы, соответствующие следующим: «dll; config» 48068 : 19: 56: 53.613 - Приложение не будет перезагружено, если изменены файлы, соответствующие следующим: «log4net.config» 48068: 19: 56: 53.746 - Обращение к домену приложения по умолчанию 48068: 19: 56: 53.839 - Применение : Звезда «CounterPublisher» ted в домене приложения: 4 48068: 19: 56: 53.839 - Добавление прослушивателя TCP на: 0.0.0.0: 4530 с прослушать отставание: 150 48068: 19: 56: 53.839 - Тайм-аут неактивности TCP: 10000ms 48068: 19 : 56: 53.839 - Тайм-аут отключения TCP: 120000ms 48068: 19: 56: 53.839 - MaxInboundMessageSize: 512000 48068: 19: 56: 53.839 - MaxOutboundMessageSize: 512000 48068: 19: 56: 53.839 - Принуждение всех приложений для: Proxy "48068: 19: 56: 53.840 - Файл политики обслуживания запросов от:" C: \ Photon \ deploy \ Policy \ assets \ socket-policy.xml " 48068: 19: 56: 53.840 - Добавление прослушивателя TCP: 0.0 .0.0: 4531 с прослушать отставание: 150 48068: 19: 56: 53.840 - таймаут неактивности TCP: 10000ms 48068: 19: 56: 53.840 - TCP отключить tim eout: 120000ms 48068: 19: 56: 53.840 - MaxInboundMessageSize: 512000 48068: 19: 56: 53.840 - MaxOutboundMessageSize: 512000 48068: 19: 56: 53.840 - Принуждение всех приложений для: «Вход» 48068: 19:56 : 53.840 - Файл политики обслуживания запросы от: «C: \ Photon \ deploy \ Policy \ assets \ socket-policy.xml» 48068: 19: 56: 53.840 - Добавление прослушивателя TCP: 0.0.0.0: 4520 с прослушать отставание: 150 48068: 19: 56: 53.840 - Тайм-аут неактивности TCP: 5000ms 48068: 19: 56: 53.840 - Тайм-аут соединения TCP: 120000ms 48068: 19: 56: 53.840 - MaxInboundMessageSize: 512000 48068: 19:56: 53.840 - MaxOutboundMessageSize: 512000 48068: 19: 56: 53.840 - Принуждение всех Идентификация приложений: «Прокси» 48068: 19: 56: 53.840 -MaxInboundMessageSize: 512000 48068: 19: 56: 53,840 - MaxOutboundMessageSize: 512000 48068: 19: 56: 53,840 - UDP-адрес определяется как: 0.0.0.0 добавление слушателя каждого доступного адреса IPv4 48068: 19: 56: 53,840 - Добавление UDP-прослушиватель: 192.168.56.1: 5055 с прослушивание: 500 48068: 19: 56: 53.840 - Добавление прослушивателя UDP на : 192.168.3.103: 5055 с прослушиваемым отставанием: 500 48068: 19: 56: 53.840 - Добавление прослушивателя UDP на: 127.0.0.1: 5055 с прослушиванием: 500 48068: 19: 56: 53.840 - Принуждение всех приложений к: «Вход» 48068: 19: 56: 53.840 - MaxInboundMessageSize: 512000 48068: 19: 56: 53.840 - MaxOutboundMessageSize: 512000 48068: 19: 56: 53.840 - UDP-адрес, указанный a s: 0.0.0.0 добавление слушателя к каждому доступному IPv4-адрес 48068: 19: 56: 53.841 - Добавление прослушивателя UDP на : 192.168.56.1: 5056 с прослушиванием: 500 48068: 19: 56: 53.841 - Добавление UDP слушатель: 192.168.3.103: 5056 с прослушиванием: 500 48068: 19: 56: 53.841 - Добавление прослушивателя UDP на: 127.0.0.1: 5056 с прослушиванием: 500 48068: 19: 56: 53.841 - Добавление Файл политики прослушиватель: 0.0.0.0: 843 с прослушиванием: 150 и службой Файл политики: «C: \ Photon \ deploy \ Policy \ assets \ socket-policy.xml» 48068: 19: 56: 53.841 - Тайм-аут неактивности TCP: 1000ms 48068: 19: 56: 53.841 - Добавление прослушивателя файла политики: 0.0.0.0: 943 с прослушиванием: 150 и файл политики политики: «C: \ Photon \ deploy \ Policy \ assets \ socket-policy-silverlight.xml» 48068: 19: 56: 53.841 - Тайм-аут неактивности TCP: 1000мс 48068: 19: 56: 53,873 - служба работает ...

Proxy Log:

2015-07-22 19: 56: 55596 [1] INFO Photon.SocketServer.ApplicationBase [(null)] - Начало приложения: AppId = Proxy; AppPath = C: \ Фотон \ развернуть \ ComplexServer, Тип = ComplexServer.ComplexProxyServer 2015-07-22 19: 56: 55643 [15] ОТЛАДКА ExitGames.Diagnostics.Counter.CounterBase [(NULL)] - Создание AverageCounter: Имя = '' 2015-07-22 19: 56: 55,648 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание NumericCounter: Name = '' 2015-07-22 19: 56: 55,651 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,654 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,656 [15] DEBUG ExitGames.Diagnostics.Counter.Count erBase [(null)] - Создание NumericCounter: Name = '' 2015-07-22 19: 56: 55,658 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = ' '2015-07-22 19: 56: 55,661 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание NumericCounter: Name =' '2015-07-22 19: 56: 55,663 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,666 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,668 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание NumericCounter: Name = '' 2015-07-22 19: 56: 55,670 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,672 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,674 [15] DEBUG ExitGames.Diagnostics.Counter. CounterBase [(null)] - Создание NumericCounter: Name = '' 2015-07-22 19: 56: 55,686 [15] DEBUG Photon.SocketServer.ApplicationBase [(null)] - OnInit - ConnID = 2, IP 127.0 .0.1 на порт 4520, тип = TCPListener 2015-07-22 19: 56: 55,716 [15] DEBUG Photon.SocketServer.Protocol [(null)] - Parsed init message для приложения Master, версия клиента 3.0.5, протокол GpBi naryV2 версии 1.6 2015-07-22 19: 56: 55723 [11] ОТЛАДКА MMO.Photon.Application.PhotonConnectionCollection [(нуль)] - Полученное запрос инициализации 127.0.0.1:4520 - Photon.SocketServer.InitRequest 2015- 07-22 19: 56: 55,725 [11] DEBUG MMO.Photon.Application.PhotonApplication [(null)] - Получено начато запрос с суб сервера 2015-07-22 19: 56: 55,758 [11] DEBUG Photon. SocketServer.ApplicationBase [(нуль)] - OnInit - ответ, отправленный к ConnId 2 с SendResult Ok

Вход Вход:

2015-07-22 19: 56: 55260 [14] ОТЛАДКА Фотон. SocketServer.ServerToServer.TemporaryServerPeer [(null)] - OnOutboundConnectionEstablished: отправка запроса на инициализацию 2015-07-22 19: 56: 55,260 [1] DEBUG MMO.Photon.Application.PhotonApplication [(null)] - Подключение к ведущему устройству в 127.0.0.1:4520 2015-07-22 19: 56: 55,299 [1] INFO Photon.SocketServer.ApplicationBase [(null)] - Начало применения: AppId = Login; AppPath = C: \ Фотон \ \ развернуть ComplexServer, Type = LoginServer.LoginServer 2015-07-22 19: 56: 55309 [14] ОТЛАДКА Photon.SocketServer.ServerToServer.TemporaryServerPeer [(нуль)] - SentInitRequest: ConnID = 2, ChannelId = 0, result = Ok size = 41 bytes 2015-07-22 19: 56: 55,762 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание AverageCounter: Name = ' '2015-07-22 19: 56: 55,765 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание NumericCounter: Name =' '2015-07-22 19: 56: 55,769 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,771 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,774 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание NumericCounter: Name = '' 2015-07-22 19: 56: 55,776 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19 : 56: 55,783 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание NumericCounter: Name = '' 2015-07-22 19: 56: 55,785 [15] DEBUG ExitGames.Diagnostics.Counter .CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,788 [15] DEBUG ExitGames.Diagnostics.Count er.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,790 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание NumericCounter: Name = '' 2015-07-22 19: 56: 55,792 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,795 [ 15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание CountsPerSecondCounter: Name = '' 2015-07-22 19: 56: 55,797 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - Создание NumericCounter: Name = '' 2015-07-22 19: 56: 55,813 [13] DEBUG MMO.Photon.Application.PhotonApplication [(null)] - Received init запрос с суб сервера 2015-07-22 19: 56: 55,904 [13] DEBUG Photon.SocketServer.ServerToServer.ServerPeerBase [(null)] - SentOpRequest: ConnID = 2, opCode = 0, ChannelId = 0 result = Ok размер = 439 байт 2015-07-22 19: 56: 55907 [13] DEBUG MMO.Photon.Application.PhotonApplication [(нулевое)] - регистрации суб сервера

Так что ясно видно это или больше логической ошибки в моем коде, против синтаксиса. Я пробовал так много вещей, чтобы попытаться понять это, но ничего не сработало. Я просмотрел видео 2-3 раза и все еще ничего.Если кто-нибудь имеет какую-либо идею или может указать мне в правильном направлении, это было бы здорово!

Cheers, Девон.

ответ

0

Я не смог ответить на ваш вопрос на видеоролике YouTube, но нашел здесь ваше сообщение.

Таким образом, проблема, с которой вы сталкиваетесь, - это то, чего я не понимал, что делал до этого времени в серии. Я мистически пропустил использование дублированного класса. Проблема в том, что я создал 2 класса ServerEventCode, ServerParameterCode и ServerOperationCode. Один находится в ComplexServer, а другой - в SubServerCommon. Если вы посмотрите на файл ServerOperationCode, тот, который находится в SubServerCommon, является единственным, который может использовать сервер Login, и он установлен в OpCode 0. Значение в ComplexServer установлено равным 1.

Моя рекомендация - продолжить и удалить те, что находятся в Complex Server (просто удалите всю папку «Коды»), перестройте проект и установите все ссылки на версию SubServerCommon, чтобы они всегда совпадали. После этого есть видео, где я делаю то же самое, вы просто сделаете это несколько видео заранее.

+0

К сожалению, я перезапустил свой проект, так как не думал, что смогу помочь с этой ошибкой. Я вернулся на простой сервер, клиент подключается правильно, начинается сервис, но файл Simple.log отсутствует. Я повторно проверил класс PhotonApplication, убедившись, что настройка журнала верна. Я перестроил проект, убедился, что все ссылки верны и все еще ничего. Я обязательно проверил другие папки в папке сервера Photon на случай, если журнал был где-то в другом месте, но это не так. Прямо сейчас, я не уверен, буду ли я продолжать исправлять это или ждать вашей новой серии MMO. –

+0

Самая большая вещь, которая проворачивала других людей с журналом, заключается в том, что в определении класса приложения местоположение журнала должно совпадать, с учетом регистра, с тем же именем в log4net.config –

+0

Да, я понял это. По какой-то причине, когда я добавил log4net.config в мой проект, а затем перестроил его, он не переместился бы в каталог в photon, так что на самом деле он даже не делал журналы. :) Спасибо за то, что я вернулся и запустил, я начал модуль входа в систему, чтобы, надеюсь, пройти мимо ошибки, которую я опубликовал выше. –