每个客户端的单独起始目录

时间:2015-11-20 14:06:14

标签: c sockets select

我有一个基于选择的服务器系统,我可以管理多个客户端。服务器自动读取并响应客户端,这很棒。但这是一个小问题。例如,用户#1更改目录(使用chdir编码),所有其他用户都受此更改的影响。我确实希望阻止这种情况发生。

1 个答案:

答案 0 :(得分:0)

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

  1. 分离一个单独的进程来处理每个连接。此进程可以具有自己的状态,包括当前工作目录。缺点是你需要对代码进行很多重构,如果你有很多并发连接,那么它可能是一个性能问题。这在Windows上比* nix更难,但并非不可能。

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