java - Java 网络让我头疼

标签 java networking

我正在为一个类(class)做一个项目,我们正在创建一个可以通过 LAN 与 2-4 名玩家一起玩的游戏。尽管在我们愚蠢地决定它不会那么难搞清楚之前,我们的小组成员都没有做过任何 Java 网络。无论如何,让网络正常工作的工作落在了我身上,但我完全不知道该怎么做。我在网上找不到任何教程,除了非常基本的东西,比如将字符串从单个客户端传递到服务器。所以我有几个问题。

首先,我如何将多个客户端连接到服务器。我是否需要为每个创建一个新的 ServerSocket

其次,是否有任何易于使用的库可以为我提取其中的一些内容?

我知道这些可能是非常基本的问题,但我真的读了很多书,但仍然一无所获。

最佳答案

Akkaremote actors可能有帮助。这是一个基本的客户端-服务器连接示例:

// server code
class HelloWorldActor extends UntypedActor {
   public void onReceive(Object msg) {
      getContext().replySafe(msg + " World");
   }
}
remote().start("localhost", 9999).register(
   "hello-service", 
    actorOf(HelloWorldActor.class));

// client code
ActorRef actor = remote().actorFor(
   "hello-service", "localhost", 9999);
Object res = actor.sendRequestReply("Hello");

Akka 确实提高了抽象级别,很像 RPC,因此看起来您只是在与本地对象进行交互。它还将有助于并发性和可伸缩性,但在您的情况下这些问题可能不太重要。

关于java - Java 网络让我头疼,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5238135/

相关文章:

java - 带有 2 个 if 的 while 循环中的死代码警告

c - 这部分代码在做什么?

ios - iOS 中通过 wifi 的点对点网络

java - 让所有 child 都进入 LinearLayout

java - 配置文件不存在时的默认 Spring bean

Java递归输出

java - 我在java应用程序中看不到udp多播流量,而我可以从wireshark中看到

c# - Windows 服务无法访问网络位置 (UNC) 路径

c++ - 缓冲区的套接字队列问题

java - JOGL高效渲染循环