我在unity5中完成了网络C#脚本。 它基于https://vimeo.com/33996023 一切都很好,直到30分钟的教程。 我做了构建,运行它,在构建中启动服务器,然后在统一启动游戏,刷新主机,1服务器弹出,我点击它没有任何反应然后我收到消息:无法连接到10.0.0.100:25001因为这系统已连接。当网络连接断开太快而远程系统无法接收断开连接通知时,例如使用Network.Disconnect(0)时,可能会发生这种情况。
我的剧本:
public class NetworkManager : MonoBehaviour {
public string gameName = "DP_Network_server";
private bool refreshing;
private HostData[] hostList;
void OnGUI() {
if (!Network.isClient && !Network.isServer) {
if (GUI.Button (new Rect (10, 10, 150, 100), "Start Server")) {
Debug.Log ("Starting Server");
startServer ();
}
if (GUI.Button (new Rect (10, 200, 150, 100), "Refresh Hosts")) {
Debug.Log ("Refreshing");
refreshHostList ();
}
if (hostList != null) {
for (int i = 0; i < hostList.Length; i++) {
GUI.Button (new Rect (400, 100 + (110 * i), 300, 100), hostList [i].gameName);
Network.Connect (hostList [i]);
}
}
}
}
void startServer() {
Network.InitializeServer(32, 25001, !Network.HavePublicAddress());
MasterServer.RegisterHost(gameName, "Double Planet Game", "This is test of networking");
}
void OnServerInitialized()
{
Debug.Log("Server Initializied");
}
void OnMasterServerEvent (MasterServerEvent mse) {
if (mse == MasterServerEvent.RegistrationSucceeded) {
Debug.Log ("Registered Server");
}
}
void refreshHostList() {
MasterServer.RequestHostList(gameName);
refreshing = true;
}
void Update (){
if (refreshing) {
if (MasterServer.PollHostList().Length > 0) {
refreshing = false;
Debug.Log (MasterServer.PollHostList ().Length);
hostList = MasterServer.PollHostList();
}
}
}
}
我确实设置了项目设置&gt;播放器在后台播放,我将网络视图附加到播放器。 Network.Connect(hostList [i]);?
有问题答案 0 :(得分:0)
void OnGUI(){
{{1}}