using UnityEngine;
using System.Collections;
public class Server : MonoBehaviour
{
//端口号
int Port = 10000;
//聊天信息
string Message = "";
//滚动视图位置
Vector2 scrollPosition;
void OnGUI()
{
//网络连接状态
switch(Network.peerType)
{
//服务器未开启
case NetworkPeerType.Disconnected:
StartServer();
break;
//成功开启后
case NetworkPeerType.Server:
OnServer();
break;
}
}
//创建服务器
void StartServer()
{
if(GUILayout.Button("CreateServer"))
{
//创建一个可以容纳100个客户端服务器
NetworkConnectionError error = Network.InitializeServer(100,Port,false);
//如果有错误打印出来
Debug.Log("ConnectionStatus:" + error);
}
}
void OnServer()
{
GUILayout.Label("ServerCompelete");
//得到客户端连接的数量
int length = Network.connections.Length;
for(int i = 0;i<length; i++)
{
GUILayout.Label("ClientID:" + i);
GUILayout.Label("ClientIP:" + Network.connections[i].ipAddress);
GUILayout.Label("ClientPort:" + Network.connections[i].port);
}
//关闭服务器
if(GUILayout.Button("Disconnection"))
{
Network.Disconnect();
//重置聊天信息
Message = "";
}
//创建一个滚动视图,用来显示聊天的信息
scrollPosition = GUILayout.BeginScrollView(scrollPosition,GUILayout.Width(200),GUILayout.Height(500));
//显示聊天的信息
GUILayout.Box(Message);
GUILayout.EndScrollView();
}
[RPC]
void RequestMessage(string message,NetworkMessageInfo info)
{
Message += "\n" + "sender:"+ info.sender + ":" + message;
}
}