Unity3d C# 脚本学习小结 (三) 【创建网络服务器】

来源:互联网 发布:淘宝商品排行榜 编辑:程序博客网 时间:2024/05/18 04:09

  这次主要讲的是怎么创建网络服务器;

1、服务器端    

首先创建一个netServer脚本,该脚本在本机打开一个端口,等待客户端的连接;大家先看看代码

  

public class netServer : MonoBehaviour {int port=10000;void OnGUI(){ switch(Network.peerType){case NetworkPeerType.Disconnected:StartServer();break;case NetworkPeerType.Server:OnServer();break;case NetworkPeerType.Client:break;case NetworkPeerType.Connecting:break;}}void StartServer(){if(GUILayout.Button("create local server")){NetworkConnectionError error=Network.InitializeServer(10,port,false);Debug.Log("connect state:"+error);}}void OnServer(){GUILayout.Label("created local server,waiting for connect!");int length=Network.connections.Length;for (int i = 0; i < length; i++) {GUILayout.Label("connected ID:"+i);GUILayout.Label("connected IP:"+Network.connections[i].ipAddress);GUILayout.Label("connected Port:"+Network.connections[i].port);}if(GUILayout.Button("disconnect the server")){Network.Disconnect();}}}

 

port 大家应该不陌生吧,这是我们网络编程中经常使用的端口,Network.InitializeServer(10,port,false)是创建开启一个端口用来监听客户端的连接;
2、客户端的创建

 

public class netClient : MonoBehaviour {string IP="你的ip地址";int port=10000;void OnGUI(){ switch(Network.peerType){case NetworkPeerType.Disconnected:StartConnectServer();break;case NetworkPeerType.Server:break;case NetworkPeerType.Client:break;case NetworkPeerType.Connecting:break;}}void StartConnectServer(){if(GUILayout.Button("connect server")){NetworkConnectionError error=Network.Connect(IP,port);Debug.Log("connect state:"+error);}}}

Network.Connect(IP,port)用来连接你刚才打开的端口;

可以把脚本附加到MainCamera上用来测试;

原创粉丝点击