标签: server

以编程方式关闭netty

我正在使用netty 4.0.24.Final.

我需要以编程方式启动/停止netty服务器.
启动服务器时,线程被阻止

f.channel().closeFuture().sync()

请帮助提供一些提示如何正确执行此操作.下面是Main类调用的EchoServer.谢谢.

package nettytests;

import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.SocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.handler.logging.LogLevel;
import io.netty.handler.logging.LoggingHandler;

public class EchoServer {

    private final int PORT = 8007;
    private EventLoopGroup bossGroup;
    private EventLoopGroup workerGroup;

    public void start() throws Exception {
        // Configure the server.
        bossGroup = new NioEventLoopGroup(1);
        workerGroup = new NioEventLoopGroup(1);
        try {
            ServerBootstrap b = new ServerBootstrap();
            b.group(bossGroup, workerGroup)
             .channel(NioServerSocketChannel.class)
             .option(ChannelOption.SO_BACKLOG, 100)
             .handler(new LoggingHandler(LogLevel.INFO))
             .childHandler(new ChannelInitializer<SocketChannel>() {
                 @Override …
Run Code Online (Sandbox Code Playgroud)

java shutdown netty server

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

无法通过浏览器访问Webmin

我按照DigitalOcean的教程介绍了如何使用SSH设置服务器,创建新用户,防火墙等.本系列的第一个教程链接在:

https://www.digitalocean.com/community/tutorials/how-to-connect-to-your-droplet-with-ssh

我还在我的服务器上安装了Webmin,但是仍然无法使用Web浏览器连接到服务器.它只是加载了很长时间然后说它无法建立连接.我一直在使用的URL是:

"Just-my-IP-adress"和" https:// Just-my-IP-adress:10000 "

最后一个打开Webmin管理员.

我不确定还需要做些什么才能从服务器获得响应.这对我来说都是新的,所以你不应该假设除了我上面的教程之外的任何事情已经完成了.

任何菜鸟错误的建议将不胜感激.

更新1:按照本教程安装LAMP之后,我现在得到一个响应,当我刚刚使用我的IP地址时,webmin仍然没有响应,但我认为它没有正确安装,因为我没有安装LAMP,当我做了Webmin-安装.

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu

UPDATE1:再次安装Webmin后,我仍然无法通过浏览器访问它.我试过这个命令:

nc -zvw 3 <my-ip> 10000
Run Code Online (Sandbox Code Playgroud)

在终端并得到这个作为回应:¨

Connection to 45.55.191.35 10000 port [tcp/webmin] succeeded!
Run Code Online (Sandbox Code Playgroud)

所以我想端口是开放的,我应该可以连接到它,但它不会让我在浏览器中使用GUI.

ssh webmin digital-ocean ubuntu-14.04 server

16
推荐指数
4
解决办法
5万
查看次数

使用Smack 4.1.0的GCM XMPP服务器

我正在尝试调整这里为Smack 4.1.0 提供的示例.并有点困惑.

具体来说,我很难理解GcmPacketExtension现在应该扩展什么,构造函数应该如何工作以及如何更新Providermanager.addExtensionProvider以配合它.

我敢肯定以前有人必须这样做但是我找不到任何例子,而且我似乎只是使用文档进行圈选.

任何帮助将不胜感激,我相信答案很简单!

当前代码(正在编译但未运行):

    static {

    ProviderManager.addExtensionProvider(GCM_ELEMENT_NAME, GCM_NAMESPACE, new  ExtensionElementProvider<ExtensionElement>() {
        @Override
        public DefaultExtensionElement parse(XmlPullParser parser,int initialDepth) throws org.xmlpull.v1.XmlPullParserException,
        IOException {
            String json = parser.nextText();
            return new GcmPacketExtension(json);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

和:

private static final class GcmPacketExtension extends DefaultExtensionElement   {

    private final String json;

    public GcmPacketExtension(String json) {
        super(GCM_ELEMENT_NAME, GCM_NAMESPACE);
        this.json = json;
    }

    public String getJson() {
        return json;
    }

    @Override
    public String toXML() {
        return String.format("<%s xmlns=\"%s\">%s</%s>",
                GCM_ELEMENT_NAME, GCM_NAMESPACE,
                StringUtils.escapeForXML(json), GCM_ELEMENT_NAME);
    }

    public …
Run Code Online (Sandbox Code Playgroud)

xmpp smack google-cloud-messaging server

16
推荐指数
1
解决办法
7777
查看次数

服务器http:/ localhost:8080需要用户名和密码.服务器说:XDB

我正在尝试访问localhost:8080,但它显示我需要输入用户名并传递单词.我记得在4个月前搞乱服务器时,我正在尝试开发一个Web应用程序并在我的电脑上托管我的域名,不幸的是我没有成功.在使用servlet时,我正在尝试一些安全功能,直到有一段时间我没有看到这些弹出窗口要求进行身份验证.

我试图输入我正在玩的密码,但没有那些正在运行.无论如何我有可能摆脱这个问题吗?在此输入图像描述

tomcat localhost server

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

Node.JS Error- process.env.NODE_TLS_REJECT_UNAUTHORIZED.这是什么意思?

我是后端开发的新手.我真的很高兴在节点中编写代码.但是,我似乎无法掌握的东西很少.我一直收到以下错误:

错误:DEPTH_ZERO_SELF_SIGNED_CERT

我通过实现以下代码修复它:

if ('development' == app.get('env')) {
    console.log("Rejecting node tls");
    process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
}
Run Code Online (Sandbox Code Playgroud)

我知道我们正在创造一个环境.但是,这用简单的语言意味着什么呢?我不知道如何向其他人解释.有很多onof信息,如何解决它,但我找不到任何关于这实际意味着什么.

谁能解释一下?

javascript ssl certificate node.js server

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

Nginx位置配置(子文件夹)

让我说我有一条路:

/var/www/myside/
Run Code Online (Sandbox Code Playgroud)

该路径包含两个文件夹...让我们说 /static/manage

我想配置nginx以访问:

/static文件夹/(例如http://example.org/)此文件夹包含一些.html文件.

/manage文件夹/manage(例如http://example.org/manage)在这种情况下,此文件夹包含Slim的PHP框架代码 - 这意味着index.php文件位于public子文件夹中(例如/ var/www/mysite/manage/public /的index.php)

我尝试了很多组合,比如

server {
listen 80;
server_name  example.org;
error_log /usr/local/etc/nginx/logs/mysite/error.log;
access_log /usr/local/etc/nginx/logs/mysite/access.log;
root /var/www/mysite;

location /manage {
  root $uri/manage/public;

  try_files $uri /index.php$is_args$args;
}

location / {
  root $uri/static/;

  index index.html;
}

location ~ \.php {
  try_files $uri =404;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param SCRIPT_NAME $fastcgi_script_name;
  fastcgi_index index.php;
  fastcgi_pass 127.0.0.1:9000;
}
Run Code Online (Sandbox Code Playgroud)

}

/ …

php http nginx slim server

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

为什么即使禁用了缓存,服务器也会忽略代码文件中的更改?

我在我的本地主机(Windows 7,Chrome v79.0.3945.130(64 位))上测试了一个 html/js 代码,大约 50% 的时间代码更改没有反映在浏览器中(我用开发工具/源看到它)。
互联网上有很多建议,但似乎都不起作用:

  • 右键单击重新加载并选择“清空缓存和硬重新加载” - 在 30% 的情况下没有帮助。
  • 在 Chrome 开发工具的网络选项卡中禁用缓存 - 没有帮助。
  • 添加<meta http-equiv="Cache-control" content="no-cache">在标题中 - 没有帮助。
  • 替换<script src="common.js"></script><script src="common.js?blabla"></script>- 在 60% 的情况下有帮助,但是您需要在每次更改后都执行此操作是一项繁重的工作。此外,它不适用于 html 更改。
  • 将文件复制到新文件(如 index.html 到 index2.html)并替换代码中的文件名 - 总是有效,但它是一个更大的苦差事。

当我将代码提交到 github.io 时出现完全相同的问题

请帮我制作它,以便网站立即反映代码更改。


编辑:我创建了一个文件 index3.html 并在那里只放了“hello world”。在浏览器中打开文件。改为“hello world2”——浏览器更新了内容。更改为“hello world3” - 即使在多次重新加载和“清空缓存和硬重新加载”之后,浏览器仍然显示“hello world2”。我改为“hello world4”——浏览器仍然显示“hello world2”。4 个小时后,我改为“hello world5”——浏览器仍然显示“hello world2”。我用基本记事本编辑了这个文件。


Edit2:人们一直在问我正在使用什么服务器。这看起来是问题的一部分。不幸的是,我不知道,也不知道我到底需要做什么来检查它。以下是我迄今为止发现的所有内容:

  • 我有inetpub/wwwroot放置 html 和 js 文件的目录,然后在浏览器中打开 index.html http://localhost/
  • Devs Tools 中的我的网络面板如下所示:image link
  • 服务器设置非常快,不需要安装任何额外的软件。即我没有使用 …

html javascript iis-7 browser-cache server

16
推荐指数
2
解决办法
4830
查看次数

如何在 python 中运行服务器

如何在 python 中运行服务器?我已经尝试过:

python -m SimpleHTTPServer
python -m HTTPServer
Run Code Online (Sandbox Code Playgroud)

但它对我说:

invalid syntax
Run Code Online (Sandbox Code Playgroud)

有人能帮我吗?谢谢!

python python-3.x server

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

用Python编写的服务器的强大无限循环

我在处理事件期间编写了一个处理事件和未捕获异常的服务器,不得终止服务器.

服务器是一个单线程的非线程python.

我想终止这些错误类型:

  • 一个KeyboardInterrupt
  • 的MemoryError
  • ...

内置异常列表很长:https://docs.python.org/2/library/exceptions.html

我不想重新发明这个异常处理,因为我猜它以前做了好几次.

如何进行?

  1. 有一个白名单:一个正常的例外列表,处理下一个事件是正确的选择
  2. 有一个黑名单:一个例外列表,表明终止服务器是正确的选择.

提示:这个问题不是关于在后台运行unix守护进程.它不是关于双叉而不是关于重定向stdin/stdout :-)

python exception-handling robustness infinite-loop server

15
推荐指数
1
解决办法
436
查看次数

将1000多条记录上传到服务器的最佳方法是什么,该服务器还包含来自iOS/Android应用程序的每条记录的图像?

我有一个离线工作的应用程序.假设在此期间以及每当建立连接时,在每条记录中创建1000多条记录.将所有1000多条记录发送到服务器的方法应该是什么,该服务器还处理网络调用或API故障响应之间的任何中断.

我假设我必须分批发送记录,但如何处理中断并保持一致性并防止任何类型的数据丢失.

database architecture android ios server

15
推荐指数
1
解决办法
675
查看次数