我有一个基于选择的服务器系统,我可以管理多个客户端。服务器自动读取并响应客户端,这很棒。但这是一个小问题。例如,用户#1更改目录(使用chdir
编码),所有其他用户都受此更改的影响。我确实希望阻止这种情况发生。
答案 0 :(得分:0)
有两种方法可以解决这个问题:
分离一个单独的进程来处理每个连接。此进程可以具有自己的状态,包括当前工作目录。缺点是你需要对代码进行很多重构,如果你有很多并发连接,那么它可能是一个性能问题。这在Windows上比* nix更难,但并非不可能。
将当前目录保存为程序中的每个连接设置,并在执行每个用户命令之前(重新)设置目录。