建立简单的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