编写管理许多客户端的服务器

时间:2014-05-19 16:22:29

标签: sockets

我是设计服务器软件的新手。我想让服务器决定客户端属于哪个组,然后让客户端到适当的程序来处理。例如,人们首先连接到battle.net,然后服务器匹配玩家,然后他们开始单独的游戏。

但我认为没办法做到这一点。建立套接字连接时,我无法将该套接字对象提供给另一个程序。因此,我能想到的唯一方法是调用另一台服务器并告诉客户端重新连接到那台服务器。这是通常的做法吗?或者有一些我不知道的方式可以某种方式将套接字的所有权转移到另一个程序?

1 个答案:

答案 0 :(得分:1)

你可以这样做。

  1. 客户端连接到服务器后。客户端需要发送一些包含映射信息的请求数据。

  2. 服务器将解析此数据并分叉一个新线程并相应地调用所需的函数。

  3. 服务器线程将返回,分叉的子节点将继续。

  4. 该函数将处理此客户端,您的主服务器仍可以侦听其他客户端请求。

  5. 希望它有所帮助。