2012-06-20 40 views
0

我对使用Netty在我正在开发的项目中使用Netty感到非常兴奋,但是承受很大的压力以快速加速。我是一名经验丰富的Java程序员,但在编写客户端 - 服务器系统方面没有太多经验。运行Netty HttpStaticFileServer示例

我正在通过netty的例子,但发现没有太多的文档如何正确运行它们。无可否认,通过源代码挖掘是很有用的,但是当我到达HttpStaticFileServer时,我已经用这种方法触及了墙壁。客户端请求大概是来自telnet,但我不知道文件请求本身的格式是什么,我已经尝试了一些。 Handler编解码器并没有完全清楚。所以一般来说,如果有一套关于如何运行这个例子的说明,那将会很好。我保证我将在调试器中观察整个过程,以便我可以跟踪到底发生了什么。所以目前来说,至少我希望FileServer的一个简单例子。我想构建的应用程序将从我怀疑的内容中构建。谢谢您的帮助!

+0

我也尝试使用浏览器来提出我的请求,选择URL:http://127.0.0.1:8080。这给了我一个禁忌403.对不起......我觉得这是一种启蒙仪式,我想我失败了。但一个简单的一行示例将真正帮助... – user1470481

+1

我转移到HttpUploadServer,并能够找出一个......如此作为本示例的文档中的建议,请添加UploadClient参数示例说明“ HTTP:// localhost:8080//c:/test.txt“ – user1470481

回答

1

HttpStaticFileServer将为您的文件系统提供文件。

请参阅HttpStaticFileServerHandler..sanitizeUri()。这是将您输入浏览器的虚拟路径映射到物理路径的地方。因此http://localhost:8080/afile.txt将映射到~/afile.txt。只需将afile.txt放在那里,它就会显示在浏览器中。

您可能要先尝试Snoop示例。我在eclipse中加载netty(记得使用JDK7)并运行/调试示例应用程序。

0

我用Eclipse在Windows上运行HttpStaticFileServer。


要测试的例子遵循这些简单的步骤:

  1. 运行服务器
  2. 类型在Web浏览器:本地主机:8080/file.ext(与你的文件替换file.ext)

该文件应在System.getProperty("user.dir")

查看有关如何工作的答案here

对我来说,它指向eclipse工作区目录。所以,醚使用工作区或改变sanitizeUri(String uri)方法在HttpStaticFileServerHandler返回:的

rootPath + File.separator + uri; 

代替

return System.getProperty("user.dir") + File.separator + uri; 

其中ROOTPATH是路径到文件服务器的根目录下。