我正在java中构建一个具有基于jetty的嵌入式websocket服务器的应用程序.客户端是Google Chrome中的默认websocket实现.只有在连接关闭一定时间后服务器和客户端之间没有传输时,一切正常.我不确定谁正在关闭连接:jetty服务器或chrome浏览器.
我认为解决方案是每隔x秒发送一条消息,但我打开了更好的解决方案.
所以......我的问题是:
这是websocket协议所需要的东西吗?在这种情况下,chrome浏览器正在关闭我的连接?
这是否与jetty相关并且或多或少与websocket协议有关?在这种情况下,如何在码头禁用此功能?
还有其他问题吗?
谢谢
更新:即使我发送1条消息/秒仍然关闭连接
我刚开始玩角度2,我看到网上有很多项目都有一个名为的文件夹typings
.更深入地研究问题我发现它与https://www.npmjs.com/package/typings包有关.我阅读了他们的文档,但我不明白为什么我们需要打字.你能提供一些需要或有帮助的例子吗?谢谢
我正在学习Angular 2+,我很难理解导入/导出在ngModule中的作用.更具体地说,如果您要使用es6语法导入模块,为什么导入模块很重要
import { BrowserModule } from '@angular/platform-browser';
@NgModule({
imports: [ BrowserModule ],
providers: [ Logger ],
declarations: [ AppComponent ],
exports: [ AppComponent ]
})
Run Code Online (Sandbox Code Playgroud)
通过es6语法检测模块是不是更简单?
导入 - 此模块中声明的组件模板需要导出类的其他模块.
但是我们已经在组件级别上导入了那些.我错过了什么吗?我也在寻找他们为什么选择这种语法的一些例子.
在 Angular 10 中,您可以使用创建一个新项目 ng new --strict
启用此标志会使用一些新设置初始化您的新项目,以提高可维护性,帮助您提前捕获错误,并允许 CLI 对您的应用程序执行高级优化
是否有将现有项目升级到严格模式的命令行,或者我只需要创建一个新项目然后从另一个项目复制粘贴文件?
我知道之前曾问过这个问题,但在将其标记为重复之前,我想告诉您我的情况与我在互联网上发现的情况略有不同.
我正在构建和嵌入脚本,人们可以把它放在他们的网站上.此脚本创建一个具有特定宽度/高度的div以及其中的一些信息.
我的问题是,一些网站也为我的div继承的div声明了样式.
例如:
div{
background-color:red;
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我没有为我的div设置任何背景颜色,即使我不想要它也会显示红色.
我遇到的唯一解决方案是覆盖尽可能多的css属性,这样我的div将完全按照我的要求显示.这个解决方案的问题是有太多的css属性要覆盖,我希望我的脚本尽可能轻松.
所以我的问题是,如果你知道我的问题的另一个解决方案.它可以在css/javascript/jQuery中.
谢谢
我试图在此示例后面的指令中设置输入别名
@Input('appAvatarColor') name: string;
Run Code Online (Sandbox Code Playgroud)
该计划正在运作,但我收到TS Lint的警告
不应重命名指令输入属性
指令选择器就是这个
@Directive({
selector: '[appAvatarColor]'
})
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
我正在寻找一种基于它接收的参数同步方法的方法,如下所示:
public synchronized void doSomething(name){
//some code
}
Run Code Online (Sandbox Code Playgroud)
我想doSomething
基于这样的name
参数同步方法:
线程1:doSomething("a");
线程2:doSomething("b");
线程3:doSomething("c");
线程4:doSomething("a");
线程1,线程2和线程3将执行代码而不同步,但线程4将等待,直到线程1完成代码,因为它具有相同的"a"值.
谢谢
UPDATE
根据都铎的解释,我认为我面临另一个问题:这是新代码的示例:
private HashMap locks=new HashMap();
public void doSomething(String name){
locks.put(name,new Object());
synchronized(locks.get(name)) {
// ...
}
locks.remove(name);
}
Run Code Online (Sandbox Code Playgroud)
我没有填充锁定映射的原因是因为name可以有任何值.
基于上面的示例,由于HashMap不是线程安全的,因此在同一时间由多个线程添加/删除散列映射中的值时会出现问题.
所以我的问题是如果我创建了HashMap
一个ConcurrentHashMap
线程安全的,那么synchronized块会阻止其他线程访问locks.get(name)吗?
在Angular 4中动态创建一个组件,你可以使用ngComponentOutlet
指令:https://angular.io/docs/ts/latest/api/common/index/NgComponentOutlet-directive.html
这样的事情:
动态组件
@Component({
selector: 'dynamic-component',
template: `
Dynamic component
`
})
export class DynamicComponent {
@Input() info: any;
}
Run Code Online (Sandbox Code Playgroud)
应用
@Component({
selector: 'my-app',
template: `
App<br>
<ng-container *ngComponentOutlet="component"></ng-container>
`
})
export class AppComponent {
this.component=DynamicComponent;
}
Run Code Online (Sandbox Code Playgroud)
如何传递@Input() info: any;
此模板中的信息<ng-container *ngComponentOutlet="component"></ng-container>
?
我正在使用nginx 1.0.8,我正在尝试将所有访问者从www.mysite.com/dir重定向到谷歌搜索页面http://www.google.com/search?q=dir ,其中dir是一个变量,但是如果dir =="blog"(www.mysite.com/blog)我只想加载博客内容(Wordpress).
这是我的配置:
location / {
root html;
index index.html index.htm index.php;
}
location /blog {
root html;
index index.php;
try_files $uri $uri/ /blog/index.php;
}
location ~ ^/(.*)$ {
root html;
rewrite ^/(.*) http://www.google.com/search?q=$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)
如果我这样做,甚至www.mysite.com/blog将被重定向到谷歌搜索页面.如果我删除最后一个位置www.mysite.com/blog效果很好.
从我在这里读到的:http://wiki.nginx.org/HttpCoreModule#location似乎优先级将首先在正则表达式上,并且与查询匹配的第一个正则表达式将停止搜索.
谢谢
我正在为一个网站构建一个移动版本,我很感兴趣,如果我可以使用jquery/js/html5或任何其他技术创建相同的分屏效果,可以在虚拟键盘可见时在移动应用上进行.
例如,如果用户进入我的网页并单击输入文本字段,则会显示虚拟键盘,浏览器会自动缩放到输入文本字段所在的区域.
我想要的是能够根据新的分辨率(屏幕高度 - 键盘高度),通过移动屏幕顶部的输入文本字段,然后根据一些提示,在虚拟键盘可见时更改我的页面内容用户在文本字段中输入的内容.
这是一些草图,看看我在说什么:
这是没有键盘的页面视图,结果基于搜索:
带有纵向键盘的页面,徽标消失,文本输入移至顶部,最多显示4个项目
带有横向键盘的页面,徽标消失,thext输入移动到顶部并放大,只显示2个项目
是键盘是隐藏的,页面应该去faze 1.
希望这可以帮助.
angular ×5
javascript ×4
java ×2
jquery ×2
typescript ×2
angular-cli ×1
css ×1
html ×1
jetty ×1
mod-rewrite ×1
nginx ×1
synchronized ×1
websocket ×1