1

我一直在关注 Christian Richards Photon Server Framework 教程,在这里和那里修复错误。我遇到了一些甚至不会引发错误的东西,但它并没有做它应该做的事情。在教程结束时(photon 第 14 集),Christian 向我们展示了应该注册子服务器并显示在日志中。当我构建我的项目,然后用光子控件打开它时,日志会显示除此之外的所有内容。日志不会抛出任何错误,但不会显示它们应该是什么。例如,代理日志应该说它收到了一个注册请求但它没有,以及登录说“没有现有的响应处理程序”。

复杂服务器日志:

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 - 光子版本:3.4.8.2804 48068:19:56:46.600 - PID:45344 48068:19:56:46.600 - 配置文件: :\Photon\deploy\bin_Win64\PhotonServer.config 48068: 19:56:46.601 - 不会记录不重要的异常 48068: 19:56:46.604 - 不使用性能计数器,因为它们当前未安装。使用 /InstallCounters 运行服务以安装它们。48068:19:56:46.604 - 启用关机超时:30000 毫秒 48068:PhotonHostRuntime.PhotonDomainManager 来自 PhotonHostRuntime,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 - 加载光子主机运行时 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:每个对等方带宽限制 48068:19:56:53.045 - ENet:传输速率限制:256 KB/秒 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:最大超时:30000 毫秒 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,类型=ComplexServer.ComplexProxyServer 2015-07-22 19:56:55,643 [15] 调试 ExitGames.Diagnostics.Counter.CounterBase [(null)] - 创建 AverageCounter: Name='' 2015-07-22 19:56:55,648 [15] 调试 ExitGames.Diagnostics.Counter.CounterBase [(null)] - 创建 NumericCounter: Name='' 2015-07-22 19:56:55,651 [15] 调试 ExitGames。 Diagnostics.Counter.CounterBase [(null)] - 创建 CountsPerSecondCounter: Name='' 2015-07-22 19:56:55,654 [15] 调试 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] 调试 Photon.SocketServer.ServerToServer.TemporaryServerPeer [(null)] - OnOutboundConnectionEstablished: 发送初始化请求 2015-07-22 19:56:55,260 [1] 调试 MMO.Photon。 Application.PhotonApplication [(null)] - 在 127.0.0.1:4520 2015-07-22 19:56:55,299 [1] 信息 Photon.SocketServer.ApplicationBase [(null)] - 应用程序启动:AppId=Login; AppPath=C:\Photon\deploy\ComplexServer, Type=LoginServer.LoginServer 2015-07-22 19:56:55,309 [14] 调试 Photon.SocketServer.ServerToServer.TemporaryServerPeer [(null)] - SentInitRequest: ConnID=2, ChannelId = 0,结果 = 确定大小 = 41 字节 2015-07-22 19:56:55,762 [15] 调试 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 类。一个在 ComplexServer 中,另一个在 SubServerCommon 中。如果查看 ServerOperationCode 文件,SubServerCommon 中的那个是登录服务器唯一可以使用的,它设置为 OpCode 0。ComplexServer 中的那个设置为 1。

我的建议是继续删除复杂服务器中的那些(只需删除整个“代码”文件夹),重建项目并将所有引用设置为 SubServerCommon 版本,以便它们始终匹配。稍后有一个视频,我会在其中做同样的事情,您只需提前完成几个视频即可。

于 2015-07-27T15:05:40.897 回答