Questions tagged «websocket»

WebSocket是建立在TCP套接字之上的API,并且是用于客户端和服务器之间的双向全双工通信的协议,而没有HTTP的开销。

9
Websocket API取代REST API?
我有一个应用程序,其主要功能通过websocket或长时间轮询实时运行。 但是,大多数站点都是以RESTful方式编写的,这对将来的应用程序和其他客户端非常有用。但是,我正在考虑从REST过渡到用于所有站点功能的websocket API。这将使我更容易将实时功能集成到网站的所有部分。这会增加构建应用程序或移动客户端的难度吗? 我发现有些人已经在做这样的事情:SocketStream

5
是否有针对Python实现的WebSocket客户端?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我找到了这个项目:http : //code.google.com/p/standalonewebsocketserver/用于WebSocket服务器,但是我需要在python中实现WebSocket客户端,更确切地说,我需要从WebSocket服务器中的XMPP接收一些命令。

12
WebSockets和Apache代理:如何配置mod_proxy_wstunnel?
我有 : Apache(v2.4)在我服务器的端口80上www.domain1.com,启用了mod_proxy和mod_proxy_wstunnel node.js + socket.io 在同一服务器的端口3001上。 www.domain2.com由于使用此处描述的方法,访问(使用端口80)将重定向到2 .。我已经在Apache配置中对此进行了设置: <VirtualHost *:80> ServerName www.domain2.com ProxyPass / http://localhost:3001/ ProxyPassReverse / http://localhost:3001/ ProxyPass / ws://localhost:3001/ ProxyPassReverse / ws://localhost:3001/ </VirtualHost> 它适用于除websocket部分之外的所有内容:ws://...不会像代理服务器那样传输。 当访问上的页面时www.domain2.com,我有: Impossible to connect ws://www.domain2.com/socket.io/?EIO=3&transport=websocket&sid=n30rqg9AEqZIk5c9AABN. 问:如何也使Apache代理WebSockets?

9
服务器在WebSocket中重启时重新连接客户端
我正在使用将PHP5和Chrome浏览器用作客户端的Web套接字。我已从http://code.google.com/p/phpwebsocket/网站获取了代码。 我运行服务器,并且客户端也已连接。我也可以聊天。现在,当我重新启动服务器(通过杀死它并重新启动它)时,客户端会获得断开连接的信息,但是当我发送消息时,客户端不会自动与服务器重新连接。 如何实现呢?就像我收到断开连接的信息一样,是否应该检查它并将其发送给JavaScript以刷新页面或重新连接?

7
如何构造相对于页面URI的WebSocket URI?
我想在浏览器端构造一个相对于页面URI的WebSocket URI。说,就我而言,将HTTP URI转换为 http://example.com:8000/path https://example.com:8000/path 至 ws://example.com:8000/path/to/ws wss://example.com:8000/path/to/ws 我目前正在做的是用“ ws”替换前四个字母“ http”,并在其后附加“ / to / ws”。有什么更好的办法吗?

6
获取为什么websockets用关闭代码1006关闭的原因
我想知道websockets关闭的原因,所以我可以向用户显示正确的消息。 我有 sok.onerror=function (evt) {//since there is an error, sockets will close so... sok.onclose=function(e){ console.log("WebSocket Error: " , e);} 代码始终为1006,原因始终为“”。但我想分开说说不同的结案原因。 例如,命令行给出了一个错误原因:“您不能删除它,因为数据库不允许您这样做”。但是在Chrome的控制台上,原因仍然是“”。 还有其他方法可以区分不同的关闭原因吗?

1
基于回合的游戏服务器的网络套接字和长时间轮询之间的区别
我正在为iOS游戏编写服务器。游戏是基于回合的,服务器唯一需要向客户端推送信息的时间是通知对手的移动。 我很好奇是否有人可以评论使用websockets和长时间轮询之间的性能和易实现性差异。另外,如果我使用了websocket,我应该只使用它来接收信息并发送POST请求以进行其他所有操作,还是应该通过websocket进行所有通信? 此外,如果我也想制作一个Web客户端,在websocket和长时间轮询之间是否还有其他需要考虑的事项?

6
如何在PHP中创建WebSocket服务器
是否有任何教程或指南显示如何用PHP编写一个简单的Websockets服务器?我曾尝试在Google上寻找它,但没有找到很多。我找到了phpwebsockets,但现在已经过时了,不支持最新的协议。我尝试自己更新它,但似乎不起作用。 #!/php -q <?php /* >php -q server.php */ error_reporting(E_ALL); set_time_limit(0); ob_implicit_flush(); $master = WebSocket("localhost",12345); $sockets = array($master); $users = array(); $debug = false; while(true){ $changed = $sockets; socket_select($changed,$write=NULL,$except=NULL,NULL); foreach($changed as $socket){ if($socket==$master){ $client=socket_accept($master); if($client<0){ console("socket_accept() failed"); continue; } else{ connect($client); } } else{ $bytes = @socket_recv($socket,$buffer,2048,0); if($bytes==0){ disconnect($socket); } …

1
Xmpp与Websocket [关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 去年关闭。 改善这个问题 我将要开发一个具有近实时聊天功能的网站。我知道可以使用xmpp或websocket协议来实现。我也知道xmpp协议是在1999年开发的,我想它应该已经很成熟了;另一方面,websocket协议是在2011年开发的。 如果xmpp能够很好地处理实时对话,那么对websocket的需求是什么? 两种协议之间的主要区别是什么? 我何时应该选择其中一个呢?


5
创建一个“ Hello World” WebSocket示例
我不明白为什么我无法使以下代码正常工作。我想用JavaScript连接到服务器控制台应用程序。然后将数据发送到服务器。 这是服务器代码: static void Main(string[] args) { TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 9998); server.Start(); var client = server.AcceptTcpClient(); var stream = client.GetStream(); while (true) { var buffer = new byte[1024]; // wait for data to be received var bytesRead = stream.Read(buffer, 0, buffer.Length); var r = System.Text.Encoding.UTF8.GetString(buffer); // write received …

2
webhook和websocket之间的区别
我一直想进行实时聊天。 几年前,我已经在PHP + Ajax + Mysql中完成了工作,并破坏了服务器。然后我尝试使用Flash +一个文本文件。我放弃了,十年没有尝试过。但是最近我听说了webhooks和websockets。他们俩似乎都是这样做的一种方式,但我不太了解其中的区别。有人可以解释吗?

3
为什么WebSockets没有同源策略?为什么我可以连接到ws:// localhost?
我想将WebSockets用于我的应用程序的进程间通信(Daemon <-> WebGUI和Daemon <-> FatClient等)。在测试期间,我尝试通过websocket.org(http://www.websocket.org/echo.html)上的JavaScript WebSocket客户端连接到本地运行的Web套接字服务器(ws:// localhost:1234 )。 我现在的问题是: 为什么会这样?浏览器(在Linux:FF29)上没有实现跨域策略吗? 我问是因为websocket.org如果是邪恶的,它可能会尝试与我的本地WS服务器通信并将从本地主机收到的每条消息重定向到其他任何服务器: 本地WebSocket服务器浏览器Evil Web服务器 在ws:// localhost:1234在http://evil.tld | | | | | ------ [GET /] ---------> | | | <----- [HTML + EvilJS] ---- | | <------ [连接ws:// ..] ---- | | | <---- [一些通讯]-> | | | | ---- [邪恶前进] ----> …


3
如何在JavaScript \ HTML中使用套接字?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 5年前关闭。 改善这个问题 如何在JavaScript \ HTML中使用套接字? 可能会使用一些很酷的HTML5? 图书馆?教程?博客文章?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.