我正在使用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) 我按照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-安装.
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.
我正在尝试调整这里为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) 我正在尝试访问localhost:8080,但它显示我需要输入用户名并传递单词.我记得在4个月前搞乱服务器时,我正在尝试开发一个Web应用程序并在我的电脑上托管我的域名,不幸的是我没有成功.在使用servlet时,我正在尝试一些安全功能,直到有一段时间我没有看到这些弹出窗口要求进行身份验证.
我是后端开发的新手.我真的很高兴在节点中编写代码.但是,我似乎无法掌握的东西很少.我一直收到以下错误:
错误: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信息,如何解决它,但我找不到任何关于这实际意味着什么.
谁能解释一下?
让我说我有一条路:
/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)
}
该/ …
我在我的本地主机(Windows 7,Chrome v79.0.3945.130(64 位))上测试了一个 html/js 代码,大约 50% 的时间代码更改没有反映在浏览器中(我用开发工具/源看到它)。
互联网上有很多建议,但似乎都不起作用:
<meta http-equiv="Cache-control" content="no-cache">在标题中 - 没有帮助。<script src="common.js"></script>为<script src="common.js?blabla"></script>- 在 60% 的情况下有帮助,但是您需要在每次更改后都执行此操作是一项繁重的工作。此外,它不适用于 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/。如何在 python 中运行服务器?我已经尝试过:
python -m SimpleHTTPServer
python -m HTTPServer
Run Code Online (Sandbox Code Playgroud)
但它对我说:
invalid syntax
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?谢谢!
我在处理事件期间编写了一个处理事件和未捕获异常的服务器,不得终止服务器.
服务器是一个单线程的非线程python.
我想终止这些错误类型:
内置异常列表很长:https://docs.python.org/2/library/exceptions.html
我不想重新发明这个异常处理,因为我猜它以前做了好几次.
如何进行?
提示:这个问题不是关于在后台运行unix守护进程.它不是关于双叉而不是关于重定向stdin/stdout :-)
我有一个离线工作的应用程序.假设在此期间以及每当建立连接时,在每条记录中创建1000多条记录.将所有1000多条记录发送到服务器的方法应该是什么,该服务器还处理网络调用或API故障响应之间的任何中断.
我假设我必须分批发送记录,但如何处理中断并保持一致性并防止任何类型的数据丢失.
server ×10
javascript ×2
python ×2
android ×1
architecture ×1
certificate ×1
database ×1
html ×1
http ×1
iis-7 ×1
ios ×1
java ×1
localhost ×1
netty ×1
nginx ×1
node.js ×1
php ×1
python-3.x ×1
robustness ×1
shutdown ×1
slim ×1
smack ×1
ssh ×1
ssl ×1
tomcat ×1
ubuntu-14.04 ×1
webmin ×1
xmpp ×1