public static short Connect ;

설명

Internal networking system message for communicating a connection has occurred.

Ensure you use RegisterHandler on the client or server. Insert MsgType.Connect as a parameter to listen for connections.

//Attach this script to your GameObject.
//Attach a NetworkManager component. To do this click Add Component, then go to Network>Network Manager.
//Create 2 Buttons (Create>UI>Button) and attach them to the fields in your GameObject’s Inspector by clicking and dragging the Buttons from your Hierarchy to the fields.

//This script allows you to start and stop a Server and Client by clicking buttons. It also detects when there has been a connection and calls a method when that happens.

using UnityEngine; using UnityEngine.UI; using UnityEngine.Networking;

public class MsgTypeConnectExample : MonoBehaviour { NetworkClient m_MyClient; NetworkManager m_NetworkManager; //Assign these in the Inspector window before testing public Button m_ClientButton, m_ServerButton;

bool m_ServerEnabled;

public void Start() { //Get the NetworkManager component m_NetworkManager = GetComponent<NetworkManager>(); m_MyClient = new NetworkClient(); //Detect a connection and call the OnConnected function m_MyClient.RegisterHandler(MsgType.Connect, OnConnected); m_ServerEnabled = false;

//Add a listener so the ConnectClient function will be called when you click the Button m_ClientButton.onClick.AddListener(ConnectClient); //Add a listener so the ToggleServer function will be called when you click the Button m_ServerButton.onClick.AddListener(ToggleServer); }

//This is the function that is called when Unity detects a connection public void OnConnected(NetworkMessage networkMessage) { Debug.Log("Connected"); }

//This is called when you press the Client Button (make sure to assign one in the Inspector) void ConnectClient() { m_MyClient.Connect("127.0.0.1", 7777); }

//This is called when you press the Server Button (make sure to assign one in the Inspector) void ToggleServer() { //Check that the server button has been clicked once if (NetworkServer.active == false) { m_NetworkManager.StartServer(); } //If the server is enabled already, stop it else { m_NetworkManager.StopServer(); } }

void Update() { //Check if the Server is active in your Application if (NetworkServer.active == false) { //Change the Text of your Server Button m_ServerButton.GetComponentInChildren<Text>().text = "Start Server"; } else m_ServerButton.GetComponentInChildren<Text>().text = "Stop Server"; } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961