我很高兴在我正在进行的项目中使用Netty,但是在很大的压力下快速加速。我是一名经验丰富的Java程序员,但在编写客户端 - 服务器系统方面经验不足。
我正在通过netty示例工作,但发现没有太多关于如何正确运行它们的文档。不可否认,通过源代码挖掘是很有用的,但是当我到达HttpStaticFileServer时,我已经采用了这种方法。客户端请求可能来自telnet,但我不知道文件请求本身的格式是什么,我尝试了一些。 Handler编解码器根本不清楚。所以一般情况下,如果有一组关于如何运行示例的说明会很好。我保证我将在调试器中观察整个过程,因此我可以关注到底发生了什么。所以目前,至少,我要感谢FileServer的一个简单示例。我想要构建的应用程序将根据我的怀疑构建。谢谢您的帮助!
答案 0 :(得分:1)
HttpStaticFileServer将提供文件系统中的文件。
请参阅HttpStaticFileServerHandler..sanitizeUri()。这是将您输入浏览器的虚拟路径映射到物理路径的位置。
因此http://localhost:8080/afile.txt
将映射到~/afile.txt
。只需将afile.txt放在那里就可以显示在浏览器中。
您可能需要先尝试Snoop示例。我在eclipse中加载netty(记得使用JDK7)并运行/调试示例应用程序。
答案 1 :(得分:0)
我在Eclipse上用Eclipse运行了HttpStaticFileServer。
要测试该示例,请按照以下简单步骤操作:
该文件应位于System.getProperty("user.dir")
查看有关其工作原理的答案here
对我而言,它指向eclipse工作区目录。因此,以太使用工作区或更改sanitizeUri(String uri)
中的HttpStaticFileServerHandler
方法返回:
rootPath + File.separator + uri;
而不是
return System.getProperty("user.dir") + File.separator + uri;
其中rootPath是文件服务器根目录的路径。