每个客户端都有单独的启动目录

问题描述 投票:0回答:1

我有一个基于选择的服务器系统,我可以在其中管理多个客户端。服务器自动读取并响应客户端,这很棒。但有一个小问题。例如,用户#1 更改目录(用

chdir
编码),所有其他用户都会受到此更改的影响。我真的希望避免这种情况发生。

c sockets posix-select chdir
1个回答
0
投票

有两种方法可以解决这个问题:

  1. 分叉一个单独的进程来处理每个连接。该进程可以有自己的状态,包括当前工作目录。缺点是您需要大量重构代码,如果您有大量并发连接,则可能会出现性能问题。这在 Windows 上比 *nix 更难,但并非不可能。

  2. 将当前目录保留为程序中的每个连接设置,并在执行每个用户命令之前(重新)设置目录。

© www.soinside.com 2019 - 2024. All rights reserved.