码迷,mamicode.com
首页 > 其他好文 > 详细

搭建服务器端

时间:2018-02-10 21:54:34      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:down   tail   erb   ini   blog   程序   basedir   tar   create   

 1.使用VS新建个项目ChatServer

 2.给项目添加所需的lib引用(C:\Program Files\Photon Server\lib\)

技术分享图片

PhotonHostRuntimeInterfaces.dll  主机运行时接口dll

ExitGames.Logging.Log4Net.dll    退出游戏时日志信息dll

log4net.dll  日志信息dll

Photon.SocketServer.dll  服务器套接字dll

ExitGamesLibs.dll  退出游戏相关libdll

 

 3.创建ChatServer入口类继承 ApplicationBase并实现接口

 ChatServer

using Photon.SocketServer;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace ChatServer

{

    //继承自ApplicationBase的类是server的入口程序

    class ChatServer : ApplicationBase

    {

        //当有新的客户连接到这个server时被自动调用

        protected override PeerBase CreatePeer(InitRequest initRequest)

        {

            //每次被调用就创建一个继承自PeerBase类的对象用于跟客户端通信

            return new ChatPeer(initRequest.Protocol, initRequest.PhotonPeer);

        }

        //server启动时被调用

        protected override void Setup()

        {

 

        }

        //server停止时被调用

        protected override void TearDown()

        {

            

        }

    }

}

 4.新建ChatPeer类继承ChatBase,并实现接口

 ChatPeer 

using Photon.SocketServer;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using PhotonHostRuntimeInterfaces;

 

namespace ChatServer

{

    //与客户端通信的类

    class ChatPeer : PeerBase

    {

        public ChatPeer(IRpcProtocol ircp,IPhotonPeer peer) : base(ircp,peer)

        {

 

        }

        /// <summary>

        /// 当客户端断开连接时被调用

        /// </summary>

        /// <param name="reasonCode">断开连接原因</param>

        /// <param name="reasonDetail">具体描述文本</param>

        protected override void OnDisconnect(DisconnectReason reasonCode, string reasonDetail)

        {

            

        }

        /// <summary>

        /// 当客户端发起请求时被调用

        /// </summary>

        /// <param name="operationRequest">客户端的操作请求</param>

        /// <param name="sendParameters">发送的参数</param>

        protected override void OnOperationRequest(OperationRequest operationRequest, SendParameters sendParameters)

        {

            OperationResponse opRequerst = new OperationResponse();

            Dictionary<byte, object> dict = new Dictionary<byte, object>();

            dict.Add(1, "cctv");

            dict.Add(2, "123456");

            opRequerst.Parameters = dict;

            //对客户端的操作请求进行回复

            SendOperationResponse(opRequerst, sendParameters);

        }

    }

}

 5.设置项目输出路径

 

首先找到photon安装目录(C:\Program Files\Photon Server\deploy\)

deploy下新建个文件夹ChatServer, ChatServer下再新建个文件夹叫bin

最后在VS项目的属性面板选择输出路径为

C:\Program Files\Photon Server\deploy\ChatServer\bin\

最后生成解决方案.

 

6.打开PhotonServer.config文件,(C:\Program Files\Photon Server\deploy\bin_Win64)

找到<Application Default = Lite>填加个节点ChatServer,完成后保存

 

 技术分享图片

 <Application

Name="ChatServer"       //应用名字

BaseDirectory="ChatServer"   //根目录名称,在deploy文件夹下的名称

Assembly="ChatServer"     //程序集的名称

Type="ChatServer.ChatServer"   //主类的全称,命名空间.类名

ForceAutoRestart="true"    //是否是自动启动,表示当我们替换服务器文件时候, 不用停止服务器,替换后photon会自动加载文件

WatchFiles="dll;config"

ExcludeFiles="log4net.config">

</Application>

 

 7.最后运行PhotonControl.exe,选择default->start as appliaction, 如果正常显示蓝色图标,出现异常显示灰色图标.

搭建服务器端

标签:down   tail   erb   ini   blog   程序   basedir   tar   create   

原文地址:https://www.cnblogs.com/fzxiaoyi/p/8439769.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!