小编kan*_*aka的帖子

WebSockets协议与HTTP

关于websocket和HTTP有很多博客和讨论,许多开发人员和网站都强烈支持websockets,但我仍然无法理解为什么.

例如(websocket爱好者的参数):

HTML5 Web套接字代表了Web通信的下一个发展 - 一种全双工双向通信通道,通过Web上的单个插槽运行.(http://www.websocket.org/quantum.html)

HTTP支持流媒体:请求正文流(您在上传大文件时使用它)和响应正文流.

在与WebSocket连接期间,客户端和服务器每帧交换2个字节的数据,而连续轮询时则为8千字节的http头.

为什么这2个字节不包括tcp和tcp协议开销?

GET /about.html HTTP/1.1
Host: example.org
Run Code Online (Sandbox Code Playgroud)

这是~48字​​节的http标头.

http chunked编码 - http://ru.wikipedia.org/wiki/Chunked_transfer_encoding:

23
This is the data in the first chunk
1A
and this is the second one
3
con
8
sequence
0
Run Code Online (Sandbox Code Playgroud)
  • 因此,每个块的开销并不大.

这两个协议都可以在TCP上运行,因此所有与长期连接的TCP问题仍然存在.

题:

  1. 为什么websockets协议更好?
  2. 为什么要实现而不是更新http协议?

ajax comet http websocket

297
推荐指数
6
解决办法
12万
查看次数

TCP套接字和Web套接字之间的差异,再一次

为了尽可能地了解TCP套接字和websocket之间的差异,我已经在这些问题中找到了很多有用的信息:

等等...

在我的调查中,我在维基百科上看了这句话:

Websocket与TCP的不同之处在于它启用了消息流而不是字节流

我不完全确定它究竟意味着什么.你有什么解释?

sockets tcp websocket

137
推荐指数
2
解决办法
10万
查看次数

使用CSS3变换scale()缩放/缩放DOM元素及其占用的空间

在我的页面中间,我有一个div元素,其中包含一些内容(其他div,图像,等等).

<div>
    before
</div>
<div id="content-to-scale">
    <div>something inside</div>
    <div>another something</div>
</div>
<div>
    after
</div>
Run Code Online (Sandbox Code Playgroud)

我想扩展该元素(内容到规模)和所有它的孩子.看起来像是CSS3变换规模操作的工作.但问题是,这只是对元素层次结构可视化的转换,它不会改变页面上元素的空间(或位置).换句话说,缩放该元素将使其与"之前"和"之后"文本重叠.

是否有简单/可靠的方法来扩展视觉表示,还有占用的空间量?

没有Javascript的纯CSS的额外分数.对于使用其他转换函数(如旋转和倾斜)做正确解决方案的解决方案,还有更多要点.这不必使用CSS3转换,但需要在所有最近支持HTML5的浏览器中支持它.

css html5 scale css3 css-transforms

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

服务器端WebSockets的最佳Java框架

我想创建低负载的简单服务器.目标是让一些javascript客户端访问通过WebSockets在Java中实现的一些功能.我寻求最好的库用于它 - 它应该是简单的,健壮的等等.现在我考虑3个替代品 - jWebSocket - jetty - netty什么是最好的?或者可能是别的什么?

提前致谢

java websocket

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

在Javascript中进行严格(非类型转换)<,>,<=,> =比较的最佳和/或最短路径

在Javascript中,==比较具有严格(非类型转换)版本:===.同样,!=有严格的形式!==.这些保护您免受以下疯狂:

var s1 = "1",
    i1 = 1,
    i2 = 2;

(s1 == i1)   // true, type conversion
(s1 != i1)   // false, type conversion

(s1 === i1)  // false, no type conversion
(s1 !== i1)  // true, no type conversion
Run Code Online (Sandbox Code Playgroud)

但是,其他比较运算符没有等效的严格模式:

(s1 < i2)   // true, type conversion
(s1 <= i2)  // true, type conversion
([] < i2)   // true, wait ... wat!?
Run Code Online (Sandbox Code Playgroud)

显而易见的解决方案看起来非常冗长:

((typeof s1 === typeof i2) && (s1 …
Run Code Online (Sandbox Code Playgroud)

javascript

27
推荐指数
2
解决办法
740
查看次数

共享Web工作人员是否在单页重新加载,链接导航中持续存在

共享Web Workers旨在允许来自同一站点(源)的多个页面共享单个Web Worker.

但是,如果您只有一个窗口/选项卡并且您导航到同一站点上的另一个页面,那么我不清楚规范(或其他有关共享工作者的教程和信息)共享工作者是否会持久存在.

这对于来自共享工作者的WebSocket连接的情况最有用,该连接在网站导航时保持连接.例如,想象一下即使在网站导航时也会持续存在的股票代码或聊天区域(无需重新连接WebSocket).

javascript html5 multithreading web-worker websocket

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

Android将在即将推出的版本中支持WebSockets吗?

如果是这样,是否有人知道计划支持哪个版本(在内置的Chrome Lite浏览器中)?此外,目前是否支持Android的任何其他浏览器,如FireFox或Opera Mini?

html5 android websocket

17
推荐指数
1
解决办法
6356
查看次数

将Javascript keyCode转换为charCode,用于非美国键盘布局(即azerty)

快速背景:

  • 当在浏览器中按下某个键时,会生成三个事件:keyDown,keyPresskeyUp.
  • keyDownkeyUp有一个keyCode属性,大约是按下的物理键.
  • keyPress还具有charCode属性集,该属性集考虑了修饰键和键盘布局(A和a具有相同的keyCode但具有不同的charCode).
  • 所有三个事件都具有指示在这些事件期间按下了哪些修改键的属性.

我是主要的noVNC开发人员,我遇到了一个棘手的问题:noVNC需要转换的charCode值而不使用keyPress事件,原因如下:

  • noVNC需要将keyDown和keyUp事件分别发送到VNC服务器(否则它不是一个功能完备的VNC客户端).
  • 更重要的是,noVNC需要在连接时阻止默认键盘操作,这意味着调用keyDown事件的preventDefault()方法.这具有防止keyPress事件被触发的副作用.

由于键盘布局的不同(即不同的keyCode到charCode映射),我确定noVNC将需要一个用于不同键盘布局的查找表.

但这是真正的问题:在备用布局上,一些不同的物理键具有SAME keyCode.例如,使用azerty(法语)键盘布局,' - '(破折号)和'_'下划线键都生成keyCode 189. Ack !!!

那么......我如何获得正确的keyCode到charCode映射并同时防止默认的浏览器操作?

顺便说一句,我怀疑这个解决方案适用于其他交互式Web应用程序和HTML5游戏,因为您经常希望能够了解有关按键的完整信息,而不会触发对该按键的任何其他浏览器响应.

有用的链接:

解决方案:请参阅下面的帖子.

javascript browser html5 cross-browser

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

通知Window Service的图标

我开发了win服务程序,它从我的本地驱动器读取一个excel文件,然后将这个文件值保存到数据库,现在我想开发一个通知图标,显示一条消息("Excel文件保存在数据库中")之后我的服务将启动并将excel文件保存到数据库.

请给我一些提示来解决这个问题.

c# windows-services visual-studio-2010

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

什么是网络可用的实时通信协议?

我最近遇到了WebSockets,我对他们带来的可能性感到震惊.我搜索了这种实时(和近实时)通信协议和技术的完整列表 - 例如XMPP,WebRTC,但我找不到任何接近完整的列表.所以请帮我组合清单.

更新:我正在寻找可用于网络的实时协议.

protocols real-time near-real-time websocket web

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