我正在开发一款简单的2D在线游戏,现在我正在设计我的服务器。服务器将在linux vps上运行,我需要一种与它通信的方式(例如关闭它,因为它将在vps上运行,只是关闭终端将无法工作)。所以我认为有两种选择:
1)写2个应用程序 - 服务器没有说什么,不接受控制台输入,第二个应用程序是向服务器发送命令的控制台(如退出,获取在线玩家等)。
2)编写1个具有2个线程的应用程序 - 一个是真实服务器,第二个线程将用于cin和cout。但是我不确定这是否适用于vps ......
或许还有更好的方法?通常的做法是什么? 请记住,它必须是vps兼容的方式(只有ssh访问它)。
由于
答案 0 :(得分:1)
我会为主服务器功能寻找“守护进程”(服务器),然后使用可以连接到服务器并发送命令的辅助应用程序。
或者像大多数其他服务器一样使用常规信号 - 当您重新配置Apache服务器时,例如,您发送一个重新启动服务器的SIGHUP信号。这样,您根本不需要第二个应用程序 - 只需“kill -SIGHUP your_server_pid”。