1

Christian Richards の Photon Server Framework チュートリアルをかなりの時間フォローし、あちこちでエラーを修正しました。エラーをスローしないものに出くわしましたが、本来あるべきことをしていません。チュートリアル (photon episode 14) の最後で、Christian は、サブサーバーを登録してログに表示する必要があることを示しています。プロジェクトをビルドしてフォトン コントロールで開くと、ログにそれ以外のすべてが表示されます。ログはエラーをスローしませんが、本来あるべき姿を表示しません。たとえば、プロキシ ログは、登録要求を受け取ったが受け取っていないことを示している必要があり、ログインは「既存の応答ハンドラがありません」と述べている必要があります。

ComplexServer ログ:

48068: 19:56:46.598 - サービス: 「Photon Socket Server」開始 48068: 19:56:46.598 - 設定ファイル: C:\Photon\deploy\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 - ティック カウント 64: 42761421 48068: 19:56:46.600 - Photon バージョン: 3.4.8.2804 48068: 19:56:46.600 - PID: 45344 48068: 19:56 C:46.600 - 構成ファイル: :\Photon\deploy\bin_Win64\PhotonServer.config 48068: 19:56:46.601 - 重要でない例外を記録しません 48068: 19:56:46.604 - 現在インストールされていないため、パフォーマンス カウンターを使用していません。/InstallCounters を指定してサービスを実行し、それらをインストールします。48068: 19:56:46.604 - シャットダウン タイムアウトが有効: 30000ms 48068: PhotonHostRuntime からの PhotonHostRuntime.PhotonDomainManager、Culture=neutral、PublicKeyToken=02C301B61B060C4D 48068: 19:56:46.611 - CLRBaseDirectory を「C:\Photon\deploy」に設定 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 - Photon ホスト ランタイムがロードされました 48068: 19: 56:53.045 - ライセンス: ライセンス ファイルが見つかりませんでした。ブートストラップ ライセンスから始めます。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: ピアあたりの帯域幅制限制限: 256 KB/秒 48068: 19:56:53.045 - ENet: 期間の制限: 200 ミリ秒 48068: 19:56:53.045 - ENet: 期間ごとの制限: 52428 バイトピアあたりの送信: 512000 バイト 48068: 19:56:53.045 - ENet: 最小再送信タイムアウト: 200 48068: 19:56:53.045 - ENet: 最小タイムアウト: 5000ms 48068: 19:56:53.045 - ENet: 最大タイムアウト: 30000ms 48068 : 19:56:53.045 - ENet: ピアごとにキューに入れられた (以前のシーケンス番号の再送信を待機している) 最大受信信頼性データ: 163840 バイト 48068: 19:56:53.046 - アプリケーションをロードしようとしています: ComplexServer 48068 からのプロキシ: 19:56:53 .

プロキシ ログ:

2015-07-22 19:56:55,596 [1] INFO Photon.SocketServer.ApplicationBase [(null)] - アプリケーションの開始: AppId=Proxy; AppPath=C:\Photon\deploy\ComplexServer, Type=ComplexServer.ComplexProxyServer 2015-07-22 19:56:55,643 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - AverageCounter の作成: Name='' 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] デバッグ ExitGames.Diagnostics.Counter.

ログインログ:

2015-07-22 19:56:55,260 [14] DEBUG Photon.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:\Photon\deploy\ComplexServer, Type=LoginServer.LoginServer 2015-07-22 19:56:55,309 [14] DEBUG Photon.SocketServer.ServerToServer.TemporaryServerPeer [(null)] - SentInitRequest: ConnID=2, ChannelId =0, result=Ok サイズ=41 バイト 2015-07-22 19:56:55,762 [15] DEBUG ExitGames.Diagnostics.Counter.CounterBase [(null)] - AverageCounter の作成: Name='' 2015-07-22 19 :56:55,765 [15] ExitGames.Diagnostics.Counter をデバッグします。

したがって、構文とは対照的に、これまたはそれ以上の論理エラーがコードにあることは明らかです。私はこれを試して理解するために非常に多くのことを試みましたが、何もうまくいきませんでした。ビデオを2〜3回見直しましたが、まだ何もありません。誰かが何かアイデアを持っているか、正しい方向に私を向けることができれば、それは素晴らしいことです!

乾杯、デボン。

4

1 に答える 1

0

YouTube 動画でのご質問にはお答えできませんでしたが、こちらの投稿を見つけました。

つまり、あなたが遭遇した問題は、シリーズの後半になるまで気付いていなかったものです. 重複したクラスの使用を神秘的に逃しました。問題は、2 つの ServerEventCode、ServerParameterCode、および ServerOperationCode クラスを作成したことです。1 つは ComplexServer にあり、もう 1 つは SubServerCommon にあります。ServerOperationCode ファイルを見ると、SubServerCommon のファイルだけがログイン サーバーで使用でき、OpCode 0 に設定されています。ComplexServer のファイルは 1 に設定されています。

私のお勧めは、Complex Server 内のものを削除して ("Codes" フォルダー全体を削除するだけです)、プロジェクトを再構築し、SubServerCommon バージョンへのすべての参照を設定して、常に一致するようにすることです。後で同じことを行うビデオがあります。事前にいくつかのビデオを行っているだけです。

于 2015-07-27T15:05:40.897 に答える