我一直在 HTTP 文件服务器和上传服务器上浏览示例。
我正在编写一个文件服务器,它可以执行以下两项操作:发送和接收文件。但我不确定如何合并这两个管道。 或者也许我需要根据命令(上传或获取文件)修改它们。即使文档声明 channel 一旦建立就无法修改管道,我看到“端口统一”示例确实会根据数据对其进行修改。
任何帮助将不胜感激。
最佳答案
听起来您需要一个 HTTP 服务器,并区分用于将文件下载到客户端的 HTTP GET
和用于将文件上传到服务器的 POST
,而不是区分类型管道。看看HttpStaticFileServerHandler用于通过 GET
请求下载文件。您需要调整的是 messageReceived
的第一行:
@Override
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception {
HttpRequest request = (HttpRequest) e.getMessage();
if (request.getMethod().equals(HttpMethod.POST)) {
// receive uploaded file
return;
}
if (request.getMethod() != GET) {
sendError(ctx, METHOD_NOT_ALLOWED);
return;
}
...
关于java - Netty 文件服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11491798/