Photon教程——建立简单的Photon服务器(一)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/ultramansail/article/details/102755901

建立简单的Photon服务器(一)

上一篇博文(Photon教程——Photon的获取)的地址:https://blog.csdn.net/ultramansail/article/details/102755749

创建一个新的项目

一、新建项目

1.打开Visual Studio 2019,新建一个类库

2.命名为GameServer,VS会帮我们新建一个Class1.cs文件,我们不要管它

3.右击解决方案资源管理器的“依赖项”,点击“添加引用”

4.弹出引用管理器窗口,点击“浏览”按钮,把PhotoHostRuntimeInterface.dll、ExitGames.logging.Log4Net.dll、log4net.dll、photon.SocketSever.dll、ExitGameLibs.dll这几个文件加进去(注:这几个dll文件都在Photon根目录的“lib”的文件夹中

创建Photon服务端代码

1.右击解决方案,点击“添加->新建项”按钮,选择类,新建一个类,命名为GameServer.cs

2.让GameSever类继承ApplicationBase类,注意引用ApplicationBase要引入命名空间“Photon.Socket”

 

注:

CreatePeer方法在一个客户端连接到服务器时调用

Setup方法在服务器初始化(移动成功)时调用

TearDown方法在服务器关闭时调用

3.实现CreatePeer方法

(1)新建一个类,命名为GamePeer,继承ClientSever类(注意引入的命名空间),Photon将通过这个类与客户端通信

(2)构造函数GamePeer

注:

OnDisconnect方法:当客户端失去连接的时候调用

PnOperationRequest方法:当客户端向服务器发送请求时调用

(3)实现CreatePeer方法

(4)完整代码如下

GameServer:

using System;
using System.Collections.Generic;
using System.Text;
using Photon.SocketServer;

namespace GameServer
{
    class GameServer : ApplicationBase
    {
        //当一个客户端连接到服务器时调用
        protected override PeerBase CreatePeer(InitRequest initRequest)
        {
            return new GamePeer(initRequest);
        }

        //当服务器初始化(移动成功)时调用
        protected override void Setup()
        {
            
        }

        //当服务器关闭时调用
        protected override void TearDown()
        {
            
        }
    }
}


GamePeer:

using System;
using System.Collections.Generic;
using System.Text;
using Photon.SocketServer;
using PhotonHostRuntimeInterfaces;

namespace GameServer
{
    class GamePeer : ClientPeer
    {
        //用这个类来根客户端进行通信
        public GamePeer(InitRequest request) : base(request)
        {

        }

        //当客户端失去连接的时候调用
        protected override void OnDisconnect(DisconnectReason reasonCode, string reasonDetail)
        {
            
        }

        //当客户端向服务器发送请求时调用
        protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters)
        {
            
        }
    }
}

下一篇博文(Photon教程——建立简单的Photon服务器(二))的地址:https://blog.csdn.net/ultramansail/article/details/102756441

猜你喜欢

转载自blog.csdn.net/ultramansail/article/details/102755901
今日推荐