首先需要在photon文件夹中lib 中的photon3Unity.dll 复制到unity项目文件夹中
http://s1/mw690/001KF55Fzy76nykCnCM50&690
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using ExitGames.Client.Photon;
public class PhotonServer :
MonoBehaviour,IPhotonPeerListener //继承客户端接口,实现接口方法
{
public string Ip
=
"127.0.0.1:4530";
//服务器IP和端口
private PhotonPeer peer; //客户端实例
// Use this for initialization
void Start
() {
peer=new PhotonPeer(this,ConnectionProtocol.Tcp);
//创建客户端,
传输方式是TCP
peer.Connect(Ip,
"MyServer");
//开始连接服务器,IP是本机地址,端口是4530,
端口可以再PhotonServer.config文件中修改TCP的端口,
"ZFJChat"是连接游戏项目的名称
Debug.Log("开始连接到服务器");
}
// Update is called once per frame
void Update
() {
peer.Service();
//整合发送到服务器端的信息,
打包一起后发送到服务器
if (Input.GetKeyDown(KeyCode.Space))
//按下space按键,发送一则文本消息到服务器
{
Dictionary<</span>byte,object>
parameter=new Dictionary<</span>byte,
object>();
//新建一个包含单个或多个的消息字典
parameter.Add(3,"hello,PhotonServer!");
//添加一个文本到键码为3的字典中
peer.OpCustom(1,
parameter,true);
//传输数据的操作键码为1
}
}
public void DebugReturn(DebugLevel level,
string message)
//收到服务器发送的debug信息
{
Debug.Log("收到服务器端发送的Debug信息:"+message);
}
public void OnOperationResponse(OperationResponse operationResponse)
//收到服务器回应信息
{
byte opCode
= operationResponse.OperationCode;
object message;
switch (opCode)
{
case 1:
if (operationResponse.Parameters.TryGetValue(3,
out message))
//3
是该消息的键码,这里是发送给服务器消息文本的字典键码
{
Debug.Log("收到服务器的回应信息:"+message.ToString());
//log服务器回应的消息
}
break;
}
}
public void OnStatusChanged(StatusCode statusCode)
//是否联网的状态
{
switch (statusCode)
{
case StatusCode.Connect:
Debug.Log("已经连接到服务器");
break;
case StatusCode.Disconnect:
Debug.Log("从服务器断开");
break;
}
}
public void OnEvent(EventData eventData)
//接受来自服务器端发送的事件
{
//
byte opCode = eventData.Code;
Dictionary<</span>byte,
object>
parameter = eventData.Parameters;
object message;
parameter.TryGetValue(3,
out message);
//3
是该消息的键码,这里是随意些的键码
Debug.Log("收到服务器发送的事件:"+message.ToString());
}
}
加载中,请稍候......