标签: server

如何正确关闭Node.js TCP服务器?

我无法在Google或SO上找到明确的答案.

我知道一个net.Server实例有一个close方法,不允许更多的客户端.但它不会断开已经连接的客户端.我怎样才能做到这一点?

我知道如何用Http做到这一点,我想我问的是它与Tcp是否相同或是否有所不同.

有了Http,我会做这样的事情:

var http = require("http");

var clients = [];

var server = http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.end("You sent a request.");
});

server.on("connection", function(socket) {
    socket.write("You connected.");
    clients.push(socket);
});

// .. later when I want to close
server.close();
clients.forEach(function(client) {
    client.destroy();
});
Run Code Online (Sandbox Code Playgroud)

对于Tcp来说是一样的吗?或者我应该采取不同的方式吗?

javascript tcp http node.js server

9
推荐指数
1
解决办法
7041
查看次数

仅允许某些国家的流量访问特定页面

--with-http_geoip_module用于识别流量.有些页面我只想让某个国家访问.这是配置:

对于 http

 http{
    geoip_country  /usr/share/GeoIP/GeoIP.dat; # the country IP database
    map $geoip_country_code $allowed_country {
            default 0;
            US 1;
            UK 1;
            HK 1; 

     }

  }
Run Code Online (Sandbox Code Playgroud)

location指令:

location = /testing {
            if ($allowed_country = 0) {

                    return 301 ;
              }
    }
Run Code Online (Sandbox Code Playgroud)

问题是当我使用US/ HKIP时,我收到404错误.我做错了什么?

UPDATE

这是我的完整conf档案:

http {
include       /etc/nginx/mime.types;
default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

geoip_country  /usr/share/GeoIP/GeoIP.dat; # the …
Run Code Online (Sandbox Code Playgroud)

system-administration nginx geoip server

9
推荐指数
1
解决办法
4684
查看次数

非RESTful与RESTful

我对编程很陌生,并且在理解RESTful API的概念方面遇到了一些麻烦.我读过有关REST和RESTful API的文章.我已经查看了SO中已经提出的问题,但似乎无法更好地理解这个主题.

在我的网络编程类中,我正在使用套接字编程.任务中有两部分,A部分和B部分.

在A部分,我编写了一个响应GET和POST的服务器.服务器检索客户端请求的文件,或写入文件.(使用HTTP协议).

在B部分中,我将使用HTTP来实现RESTful应用程序.基本上它是一个消息服务器,能够处理GET,POST,PUT和DELETE.在这部分中,服务器将创建xml文件并与之交互.我理解这些方法是如何工作的.但我真正不明白的是以下内容:

为什么A部分服务器不是RESTful,而B部分是RESFTful?

rest network-programming server

9
推荐指数
2
解决办法
9486
查看次数

如何用Go提供http部分内容?

我有一个用go编写的网络服务器,我正在提供来自不同来源(本地,其他服务器,S3)的一些音频文件.我想为这些文件启用部分内容,以便HTML音频标签能够搜索和循环.

我怎么能得到这个?我知道httpServeContent函数可以做到这一点,但我怎么能通过自己提供文件来实现呢?我需要在没有这个的情况下这样做,以便我可以使用相同的处理程序提供来自不同来源的文件.

http go http-content-range server

9
推荐指数
1
解决办法
4118
查看次数

使用.NET和Xamarin的服务器客户端应用程序

我在互联网上搜索了很多时间,但是找不到与我的情况相符的任何东西.

我只想用TCP或UDP实现一个服务器/客户端应用程序,其中我的Android App(Xamarin)充当服务器,我的.NET应用程序充当客户端.由于我没有太多的应用程序开发经验和没有Xamarin的经验,我一直在寻找一个例子.我发现的只有:

http://www.codeproject.com/Articles/340714/Android-How-to-communicate-with-NET-application-vi

首先,这是相反的方式(服务器在.NET和客户端作为应用程序),另外它是为Android Studio所以我很难将这些东西翻译成Xamarin而没有错误.

请有人帮忙,并举例说明如何实现我的问题?

谢谢!

.net c# client xamarin server

9
推荐指数
1
解决办法
1万
查看次数

错误R14(超出内存配额)错误时自动重启Heroku dynos

我正在运行一个应用程序,它需要一个泄漏内存的库.(不幸的是,这个propriotory软件没有替代品).因此,dynos超出其内存限制并发出错误R14(超出内存配额)错误.

有没有办法自动重启发出错误R14的dynos?

或者Heroku实际上会为我重新启动dynos,如果是的话大概是什么时候?(在文档中找不到任何内容,我从未注意到heroku关闭了我的dynos)

非常感谢你提前!

埃迪

memory restart heroku stability server

9
推荐指数
1
解决办法
748
查看次数

使用Volley在body中发布form-data参数

这是使用邮递员完成的帖子请求

在此输入图像描述

我想得到的回应是:

    {
  "result": "success",
  "reason": {
    "first_name": "aswath",
    "last_name": "AsH",
    "email": "selviragu09@gmail.com",
    "phone": "\"8867336754\"",
    "authy_id": "26829982",
    "updated_at": "2016-09-27 06:38:07",
    "created_at": "2016-09-27 06:38:07",
    "id": "5012"
  },
  "sms": "token sent"
}
Run Code Online (Sandbox Code Playgroud)

这是我要发送的请求:

 JSONObject jsonBody = new JSONObject();
        jsonBody.put("first_name", firstname);
        jsonBody.put("last_name", lastName);
        jsonBody.put("email", Email);
        jsonBody.put("phone", number);

        final String mRequestBody = jsonBody.toString();

        StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {

            @Override
            public void onResponse(String response) {
                Log.i("VOLLEY", response);
                Log.d("**********", "FETCHING IN VOLLEY REQ" + response.toString());


            }
        }, new Response.ErrorListener() {
            @Override
            public …
Run Code Online (Sandbox Code Playgroud)

post android json android-volley server

9
推荐指数
1
解决办法
8451
查看次数

弹性搜索出错在群集中找不到活动节点

我开始使用弹性搜索.我在我的服务器上成功安装了弹性搜索(与应用程序服务器不同).但是当我尝试从我的应用程序服务器调用Elatic搜索时出现错误 Fatal error: Uncaught exception 'Elasticsearch\Common\Exceptions\NoNodesAvailableException' with message 'No alive nodes found in your cluster'

当我检查Elastic搜索状态时,它显示Active.

如何从我的应用程序服务器调用弹性搜索到我的弹性搜索服务器.

<?php
    require 'vendor/autoload.php';
    $hosts = [
       'ip_address:9200'         // IP + Port
    ];
    $client = Elasticsearch\ClientBuilder::create()->setHosts($hosts)->build();

    $params = [
        'index' => 'my_index',
        'type' => 'my_type',
        'id' => 'my_id',
        'body' => ['testField' => 'abc']
    ];

    $response = $client->index($params);
?>
Run Code Online (Sandbox Code Playgroud)

我的elasticsearch.yml设置

    # ======================== Elasticsearch Configuration =========================
    #
    # NOTE: Elasticsearch comes with reasonable defaults for most settings.
    #       Before you set out to tweak …
Run Code Online (Sandbox Code Playgroud)

php search elasticsearch server

9
推荐指数
1
解决办法
2万
查看次数

如何主持angular 2网站?

如何主持angular 2网站?

我是角度2的新手,我创建了一个没有后端的简单网站.

我想知道当我尝试直接打开index.html文件时,它会打开并显示错误.

但是在命令之后"npm start"它运行正常,它在计算机上运行本地服务器.

那么,如何在简单的托管网站上托管这个网站(不是专用服务器..!)?

我认为托管站点会自动找到index.html文件,但是这里有问题,index.html是没有"npm start"命令就启动的.

我可以在服务器上启动进程吗?

请指导我.

hosting frontend server angular

9
推荐指数
1
解决办法
2万
查看次数

新的URL() - WHATWG URL API

我正在搞乱节点,我正在尝试获取URL类的实例(因为那些方便的属性).喜欢:

const { URL } = require('url');
(...)
http.createServer((request,response) => {
    let uri = new URL(request.url);
    (...)
}
Run Code Online (Sandbox Code Playgroud)

但它失败了

TypeError [ERR_INVALID_URL]: Invalid URL: /
Run Code Online (Sandbox Code Playgroud)

这很有趣因为

const url = require('url');
url.parse();
Run Code Online (Sandbox Code Playgroud)

作品.所以我很好奇.我明白后面的方法比较旧.

我正在本地开发所以发送请求我在浏览器中使用localhost:8000.

如何使用该信息request实例化新的URL对象?

信息和我已经看过的东西:

node -v
v9.3.0

https://nodejs.org/api/url.html#url_class_url
https://stackoverflow.com/questions/44738065/uncaught-typeerror-url-is-not-a-constructor-using-whatwg-url-object-support-for
https://stackoverflow.com/questions/45047840/in-node-js-how-to-get-construct-url-string-from-whatwg-url-including-user-and-pa
https://stackoverflow.com/questions/47481784/does-url-parse-protect-against-in-a-url
https://stackoverflow.com/questions/17184791/node-js-url-parse-and-pathname-property
Run Code Online (Sandbox Code Playgroud)

javascript node.js server

9
推荐指数
1
解决办法
5252
查看次数