我正在尝试启动LibGDX服务器。我已经从这个站点复制了代码:https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/net/PingPongSocketExample.java但是我从行服务器服务器= Gdx.net.newServerSocket获取了一个空指针异常......发生了什么事?
答案 0 :(得分:2)
LibGDX静态实用程序变量与几乎所有Java变量一样,以null
开头。它们不是立即(并非最终)分配给每个平台上的不同实现。例如,您使用Net
引用的Gdx.net
实现为null
,除非您启动实际分配此值的应用程序。
如果您希望服务器成为常规客户端应用程序的一部分,请先尝试启动应用程序,然后然后创建服务器套接字。如果您需要单独的服务器应用程序,请尝试headless
后端。您也可以手动创建Net
个实例,例如:new HeadlessNet().newServerSocket(...)
或new AndroidNet().newServerSocket(...)
。
Net
实现基本上都是简单的无状态工厂,因此可以使用它们的几个实例;即使你手动构建Net
实例而然后创建一个应用程序,它也不会引起任何问题。