使用java设置http服务器

时间:2016-06-09 12:29:42

标签: java http tcp server vert.x

我正在尝试使用java设置http服务器。我目前正在使用Vert.x软件包。这是我第一次使用http服务器,所以我有点迷茫,不知道如何继续,因此我正在寻求指导。 我从一些我在这个主题上找到的例子中搜索了一段代码(可能不完整)。

public class SimpleFileServer extends AbstractVerticle {

private HttpServer httpServer = null;

@Override
public void start() throws Exception {
    httpServer = vertx.createHttpServer();

    httpServer.requestHandler(new Handler<HttpServerRequest>() {
        @Override
        public void handle(HttpServerRequest request) {
            System.out.println("incoming request!");

            Buffer fullRequestBody = Buffer.buffer();
            if(request.method() == HttpMethod.POST){

              request.handler(new Handler<Buffer>() {
                 @Override
                 public void handle(Buffer buffer) {
                      fullRequestBody.appendBuffer(buffer);
                 }
              }
            }

        }
    });

    httpServer.listen(3030);

}}

我对此事有很多疑问,例如: 为了将文件(每个特定的时间间隔一次)发送到服务器,应该添加到代码中的内容是什么? 如何检查服务器是否正常工作?假设我没有另一台计算机作为客户端连接到它? 我应该尝试设置TCP服务器吗?

我基本上都在寻求关于此事的任何指导,非常基本的东西。 任何指针,建议和好例子都将受到高度赞赏。 谢谢。

2 个答案:

答案 0 :(得分:1)

如果您正在寻找示例,我建议您查看examples repo。它包含显示几乎所有API的Hello World大小示例。

在您的代码中,您可以在core示例中看到如何制作HTTP server to handle file uploads。以及相应的client code to upload to the server

当然,core API水平相当低,使用Web应用程序的方式更简单,效率更高,您应该查看vertx-web examples

Vertx-web几乎涵盖了现代网络应用程序所需的所有内容,从简单的HTTP服务器和路由到实时的websockets,以及与javascript框架集成为Angular和React。

答案 1 :(得分:0)

  1. 您为什么要定期向服务器发送文件?这听起来像是要让服务器将文件发送到另一个服务器。如果您真的需要,可以执行此操作,您必须拥有其他服务器或其他服务才能将文件发送到您的服务器。
  2. 要检查您的服务器是否正常工作,您必须定义&#34;正常工作&#34;是,即值在此范围内,连接数低于此阈值,类似的东西。然后你可以每晚,或者每当你的服务器检查自己违反这些规则时,如果发现错误就做某事。
  3. 没有TCP服务器,TCP(传输控制协议)就是如何在服务器和客户端之间传输数据。 HTTP(超文本传输​​协议)是一种应用程序协议,它没有描述如何在服务器和客户端之间传输数据。 TCP/IP HTTP