草庐IT

Websockets

全部标签

performance - WebSockets、UDP 和基准

HTML5websockets目前使用一种TCP通信形式。然而,对于实时游戏,TCP不会削减它(这是使用其他平台(如native)的重要理由)。由于我可能需要UDP来继续一个项目,我想知道HTML6或其他规范是否支持UDP?此外,是否有任何可靠的WebSockets基准可以将WS协议(protocol)与低级直接套接字协议(protocol)进行比较? 最佳答案 在LAN上,您可以获得200微秒的WebSocket消息往返时间(从浏览器JS到WebSocket服务器并返回),这类似于原始ICMPping。在MAN上,大约10毫秒,W

html - 我需要服务器才能使用 HTML5 的 WebSockets 吗?

使用WebSockets时,是否需要编写服务器代码?换句话说,我的客户端应用程序中的JavaScript是否需要连接到专用服务器,或者我现有的Apache服务器是否可以支持这一点? 最佳答案 服务器必须支持网络套接字。在HTTP中第一次握手后,服务器和客户端打开一个套接字连接。服务器必须能够理解并接受此握手。在我的上一个项目中,我们使用最新的Jetty版本非常成功地运行了网络套接字连接。2014年2月27日:现在我也在.net下使用XSockets.net实现websockets并且工作起来非常棒,你甚至不需要网络服务器(自托管)。

cocoa - 在浏览器之外使用 Websockets 有什么好的理由吗?

Websockets是为浏览器中的快速双向通信而设计的。假设您可以控制服务器和native客户端(比如iOS或Mac应用程序),是否有任何好的理由或情况可以通过websocket进行通信而不是使用HTTP库? 最佳答案 我将回答几个不同的问题,希望最终能回答您的问题:是否有理由从客户端使用WebSocket而不是HTTP?是。与HTTP相比,WebSockets是双向的、全双工的、低延迟和低开销的。与HTTP/AJAX/COMET相比,延迟和开销较低的部分原因是您不必为每个请求重新建立连接。是否有理由从客户端使用WebSocket而

ios - 基于回合的游戏服务器的 websockets 和长轮询之间的区别

我正在为iOS游戏编写服务器。游戏是回合制的,服务器唯一需要向客户端推送信息的时间是通知对手的Action。我很好奇是否有人可以评论使用WebSockets和长轮询之间的性能和易用性差异。另外,如果我使用WebSockets,我应该只使用它来接收信息并发送POST请求以获取其他所有信息,还是所有通信都应该通过WebSocket?此外,如果我也有兴趣制作Web客户端,那么在WebSockets和长轮询之间是否还有其他需要考虑的地方? 最佳答案 对于可能想知道的其他人来说,这可能取决于事件之间典型交互的持续时间?Websocket:任何

php - 在 PHP +Redis +Pub/Sub +WebSockets (+NodeJS) 中实时聊天

我想开发与channel的实时聊天,这些是我的需求:PHPbackendtomanagesiteRedisassessionanddataprimarystoragePub/Subtosendmessagesonlytochannel'sinterestedusersoneWebSocketconnectionwithwhichthemessageswillbesendandreceived.(optional)NodeJStousegreatnpmpackagesliketimesyncorsocket.io我看到了两种不同的架构来实现这一点:使用Socket.io使用Crossba

python - uWSGI native 异步 websockets 和 redis 的错误文件描述符

您好,我有一个简单的websocket服务器,它向客户端推送消息,代码如下uwsgi.websocket_handshake(env['HTTP_SEC_WEBSOCKET_KEY'],env.get('HTTP_ORIGIN',''))print("websockets...")r=redis.StrictRedis(host='localhost',port=6379,db=0)channel=r.pubsub()channel.subscribe('backchannel')websocket_fd=uwsgi.connection_fd()redis_fd=channel.co

django websockets 无法在 channel 上发送消息

我在Django上使用带有Redis的网络套接字。Django在macOS服务器上运行良好,但我开始在RedhatLinux服务器上运行它,现在每当我通过websockets发送包时,服务器都会给我这个错误:ERROR-server-HTTP/WSsenddecodeerror:Cannotdispatchmessageonchannelu'daphne.response.fzdRCEVZkh!nqhIpaLfWb'(unknown)注意:当我收到错误时,包裹将被正确接收。我找不到关于此错误的任何资源。我关注了officialinstructions对于channel。

django - nginx uwsgi websockets 502 Bad Gateway upstream 在从上游读取响应 header 时过早关闭连接

几天来我一直在这个问题上苦思冥想,终于碰壁了。我一直在尝试让我的堆栈运行:http://django-websocket-redis.readthedocs.org/en/latest/running.html#django-with-websockets-for-redis-behind-nginx-using-uwsgi我一直在看其他一些像这样的SO文章:nginx-uWSGIHTTP+websocketconfig他们似乎遇到了我遇到的类似问题,但解决方案对我不起作用。基本上,每当我尝试启动我的uWSGI进程时,我都会遇到nginx502错误的网关屏幕。按照文档中的说明,我有两个

javascript - 如何维护页面之间的 WebSockets 连接?

在我的一个脚本中我有这段代码:varwebSocket=window.WebSocket||window.MozWebSocket;window.ws=newwebSocket('ws://64.121.210.140:2585/consoleappsample','my-protocol');效果很好。但是,当用户更改页面时,我必须重新建立连接。我相信这会导致我的代码出现问题,因为如果客户端将数据发送到服务器然后更改页面,则可能无法接收到数据并且会出现竞争条件。我试图将window.ws放在全局范围内,但它似乎没有解决问题。有什么方法可以让WebSockets连接在页面之间持续存在,

javascript - 套接字.io 1.x : use WebSockets only?

出于各种原因,我们正在开发一个只能在现代浏览器(IE10+)上运行的Web应用程序。我们实现的功能之一是Socket.io1.x。但是,默认情况下,Socket.io客户端会尝试支持较旧的浏览器,因此它会使用长轮询启动连接,然后将其更新为WebSockets。这是在浪费时间和资源,因为我们确定浏览器支持WS。我找了一圈,只找到thiswikipage然而,这是关于Socket.io0.9的。最终,我找到了thedocumentationforengine.io-client(Socket.io-client基于1.x分支)。这是我编写的代码,似乎可以正常工作。但是,我想知道它是否正确或