【问题标题】:Client Server Programming In Unity using JavaScript使用 JavaScript 在 Unity 中进行客户端服务器编程
【发布时间】:2013-03-13 07:04:37
【问题描述】:

我是 Unity3D 网络编程的新手,基本上我想通过 WiFi 使用 Client Server Model 在两个 android 设备之间建立连接。我有一些问题..比如

  • 如何创建具有特定 IP 地址的服务器?
  • 如何创建客户端,谁将连接到该服务器?
  • 如何在客户端和服务器之间传输消息?

任何帮助将不胜感激.. .......

我已经写了这个简单的代码...

function OnGUI()
{
  if(GUILayout.Button(" Initlized server"))
  {
   Network.InitializeServer(32,25001,false);
   Debug.Log("Server has been Initlized");
  }
  if(GUILayout.Button("connect to server"))
  {
    Network.Connect("127.0.0.1",25001);
  }
}
function OnConnectedToServer() {
    Debug.Log("Connected to server");
    // Send local player name to server ...
}

我已经编写了这个简单的代码,但是 OnConnectedToServer 没有给我任何回应...

【问题讨论】:

  • 对于您的第一个问题,服务器需要static ip 地址。
  • 感谢 Killrawr 的回复...但是我们如何使用特定 IP 初始化服务器...
  • 我不太确定你在问什么,但是.. 通常你可以很容易地更改任何计算机的 IP 地址,方法是访问网络属性并更改 IP/子网/网关。 (进入命令提示符输入ipconfig /all,查看当前ip地址信息,确保只更改地址的最后一个节点)
  • 如果你的IP地址是dynamic,那么设置一个互联网服务器是没有意义的,否则它会不断变化(这是你无法控制的,你需要和你的ISP联系)。

标签: android networking unity3d client-server unityscript


【解决方案1】:

如何创建具有特定 IP 地址的服务器?

对于 IP 地址部分,您需要一个静态 IP。如果您在路由器后面,这意味着您必须首先确保您的 ISP 为您提供静态 IP。如果他们不这样做,您应该尝试诸如FreeDNS 之类的服务,它将您的动态IP 路由到一个Web 地址。然后,您需要将特定端口端口转发到服务器,该服务器应具有静态本地 IP,以便于端口转发。

至于代码本身,我强烈建议您看看这个网站。它有关于使用 Unity 的内置网络制作客户端-服务器游戏的精彩视频教程。 http://www.gamertogamedeveloper.com/

至于您的代码,您没有说明如何运行该代码。你不应该让客户端和服务器在同一个实例中运行。您需要做的是在 Unity3d 调试器中运行服务器,然后构建客户端并将其作为独立应用程序运行。

【讨论】:

    【解决方案2】:

    Raknet 看起来很有趣, 看看这里:

    【讨论】:

      猜你喜欢
      • 2019-01-03
      • 2014-11-26
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 1970-01-01
      • 2014-04-11
      相关资源
      最近更新 更多