C 实现9p服务器

C 实现9p服务器,c,filesystems,server,storage,plan-9,C,Filesystems,Server,Storage,Plan 9,我希望在Linux机器上开发一个文件服务器的C实现。互联网上没有足够的关于9p的文档,我对实现服务器也不是很有经验。我的总体设计如下: 使用UNIX套接字侦听传入的9p消息 解码9p消息并生成新线程以执行所需任务 用适当的9p回复消息回复客户机 服务器将只驻留在用户空间中,它将把9p消息转换为UNIX调用 您是否发现任何问题或对拟议设计有任何建议?有什么文件可以让我参考,对我有帮助吗?你认为我应该如何调试我的服务器并确保它正常工作。考虑libixp(MIT许可证) 我一直在玩wmii,并在日常工

我希望在Linux机器上开发一个文件服务器的C实现。互联网上没有足够的关于9p的文档,我对实现服务器也不是很有经验。我的总体设计如下:

  • 使用UNIX套接字侦听传入的9p消息
  • 解码9p消息并生成新线程以执行所需任务
  • 用适当的9p回复消息回复客户机
  • 服务器将只驻留在用户空间中,它将把9p消息转换为UNIX调用


    您是否发现任何问题或对拟议设计有任何建议?有什么文件可以让我参考,对我有帮助吗?你认为我应该如何调试我的服务器并确保它正常工作。

    考虑
    libixp
    (MIT许可证)

    我一直在玩
    wmii
    ,并在日常工作中使用它
    libixp
    wmii
    (在最早的版本中)的一部分,现在它是一个独立的项目。检查
    wmii
    的早期版本以获得一个良好的起点,或者直接进入
    libixp


    要调试服务器,只需使用
    9PFUSE(4)
    和参数
    −D
    打印每个FUSE和9P消息。

    请检查我的重新标记和URL;您可能会找到其他更好的URL。当我在谷歌搜索“9p协议”时,我找到了很多信息来源——你发现了什么?一般来说,您的设计大致正确。短期内最大的问题可能是文件的权限处理。对于调试,请确保您有一个日志文件,并且您的文件服务器在易于解析的消息中记录它正在执行的操作(尤其是它记录文件上失败操作的错误消息)。确保它能够优雅地处理日志截断或删除。Plan 9已经提供了一个9P服务器,用于Linux等Unix系统。