0
我是一个套接字编程和Unity的新手。 我推演示播放按钮这个简单的服务器代码统一超级简单网络服务器代码错误
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class PaintServer : MonoBehaviour {
public bool isAtStart = true;
public int port;
// Use this for initialization
void Start() {
Debug.Log("Start");
SetupServer();
}
private void SetupServer()
{
if (NetworkServer.active)
{
Debug.Log("Server is already acitve");
return;
}
NetworkServer.Listen(port);
Debug.Log("Listen Complete");
// system msgs
NetworkServer.RegisterHandler(MsgType.Connect, OnServerConnect);
NetworkServer.RegisterHandler(MsgType.Disconnect, OnServerDisconnect);
NetworkServer.RegisterHandler(MsgType.Error, OnServerError);
DontDestroyOnLoad(gameObject);
}
public void OnServerConnect(NetworkMessage netMsg)
{
Debug.Log("PaintServer received client");
}
public void OnServerDisconnect(NetworkMessage netMsg)
{
Debug.Log("PaintServerlost client");
}
public void OnServerError(NetworkMessage netMsg)
{
Debug.Log("ServerError from Master");
}
public void OnConnect(NetworkMessage netMsg)
{
Debug.Log("player connected!");
}
}
我没有剧本,除了上面的代码后,得到了一个无限的错误。每当运行程序,有无限的错误消息,使得
主机标识出绑定ID的{0}最大的ID应该大于0且小于 {0} UnityEngine.Networking.NetworkIdentity:UNetStaticUpdate()
什么问题,我该如何解决?请帮帮我。
您是否在巡视器中设置了端口变量? – Icewine
@lcewine你是什么“在巡视员中设置端口”?我也做了一些可能的端口号,例如15000,6321,7894,但结果相同 –
您将'port'设置为公共变量,所以我认为您可能忘记在检查器中设置数字。在测试时对变量进行硬编码并不是一个坏主意。一旦它工作,你可以公开如果你想。 – Icewine