using UnityEngine; using System.Collections; public class networkserver : MonoBehaviour { private string roip = "127.0.0.1"; private int rport = 10000; private int concount = 15; private bool usenat = true; void OnGUI() { switch (Network.peerType) { case NetworkPeerType.Disconnected: StartServer(); break; case NetworkPeerType.Server: OnServer(); break; } } void StartServer() { roip = GUI.TextField(new Rect(10, 30, 100, 20), roip); if (GUI.Button(new Rect(10, 50, 100, 30), "创建服务器")) { Network.incomingPassword = "unitynetwork"; //启动服务器 NetworkConnectionError error = Network.InitializeServer(concount, rport, usenat); Debug.Log(error); } } void OnServer() { GUILayout.Label("创建服务器成功!等待连接。。。。。"); string ip = Network.player.ipAddress; int port = Network.player.port; //显示外网IP string exip = Network.player.externalIP; GUILayout.Label("IP地址:" + ip + "\n端口号:" + port + "\n外部网IP:" + exip); int connectlength = Network.connections.Length; for (int i = 0; i < connectlength; i++) { GUILayout.Label("连接的IP:" + Network.connections[i].ipAddress); GUILayout.Label("连接的端口:" + Network.connections[i].port); } if (GUI.Button(new Rect(0, 340, 100, 30), "断开连接")) { Network.Disconnect(200); ; } } void OnPlayerDisconnected(NetworkPlayer player){ Network.RemoveRPCs(player); Network.DestroyPlayerObjects(player); } }
时间: 2024-08-01 10:41:09