草庐IT

WEBSOCKET

全部标签

google-chrome - 当我从 chrome websocket 发送 127+ 个字符时,我的 golang 服务器不能看到超过 126 个

我正在重新发明轮子并尝试使用位来实现一个简单的服务器。它几乎可以正常工作,但我不确定这个问题是我的客户端还是我的服务器。这是我从net.ConnRead传递结果字节数组的函数funcreadWsFrame(p[]byte){//processfirstbyteb:=p[0]fmt.Printf("firstbyte:%b\n",b)fin:=b&128//hopefully128,forfinop:=b&15//hopefully1,fortextfmt.Printf("fin:%d\nop:%d\n",fin,op)//processsecondbyteb=p[1]fmt.Print

go - 将一个客户端的消息反射(reflect)到 Websocket (golang) 上的另一个客户端

我在后端使用websockets时遇到问题。我必须用golang和旧开发人员使用websocket重写一些旧的,同时一个客户端跟踪另一个客户端的位置。两个客户端都使用给定的url连接websocket"\(URLConstants.webSocketURL)?token=\(token)&jobId=\(jobId)"所以我认为两个客户端都使用她/他自己的token连接websocket,我需要将用户的消息反射(reflect)给其他用户。我可以用给定的url打开两个套接字。这是我第一次使用websocket,所以我不确定我问的问题是否正确。 最佳答案

html - 需要在发起http响应后通知邮件发送状态

我正在创建一个网络应用程序。(前端:html,后端:golang)在其中一个页面中,该应用程序需要向很多人发送电子邮件。由于这需要花费大量时间并且我不想让用户等待,所以我使用go-routine作为发送电子邮件的功能。所以之前函数结束,响应启动。问题是我需要在用户当前访问的页面上显示这些电子邮件的结果(电子邮件发送成功或失败),如通知。我试过网络套接字,但由于用户将遍历不同的页面,套接字会自动关闭。任何想法如何做到这一点。谢谢.... 最佳答案 我认为,如果用户离开该网站,则无法向他们发送任何信息。浏览器特别不会接受他们自己没有请求

go - 使用 Gorilla FormatCloseMessage 客户端收到错误代码

我正在关闭代码为1008的WS连接。cm:=websocket.FormatCloseMessage(websocket.ClosePolicyViolation,msg)iferr:=c.conn.WriteMessage(websocket.CloseMessage,cm);err!=nil{log.Error(err)}err=c.conn.Close()然而,当收到带有WS的消息时图书馆,它说代码是1006。我做错了什么? 最佳答案 由于发送消息后连接立即关闭,关闭握手未完成。修复它的一种方法是添加sleep调用。尽管正确实

go - 在 golang 中一对一聊天

我想在Revel框架中创建一对一聊天,但出现错误。最初按照demo在revelchat中工作,但是刷新页面不起作用,所以我尝试了这种方法,但不知道如何处理单个聊天。这是一个错误:appserver.go:2848:http:panicserving127.0.0.1:50420:interfaceconversion:interfaceisnil,notio.Writergoroutine166[running]:net/http.(*conn).serve.func1(0xc4201d03c0)我的go代码是我处理wsroot的地方,单用户聊天需要数据库连接。我正在为此使用posgr

go - 获取 websocket session

我的思路如下。当请求来自客户端(浏览器)的连接时,服务器在websocket升级请求上生成随机token并通过HTTPSet-Cookieheader发送它。然后,客户端通过websocket连接通过质询-响应身份验证进行身份验证。成功验证后,服务器会在数据库中为用户保存先前生成的token。当用户重新启动websocket连接时,需要tokencookie来恢复session。我的问题是,如何在每个连接(每个用户)的内存中临时存储token,以便我以后可以访问它并为该用户保存在数据库中?(类似于“请求上下文”)。 最佳答案 你可以

javascript - 如何使用 websockets 更改模板?

我想将页面拆分成片段并使用网络套接字更改它们而无需重新加载页面。{{define"index"}}{{template"head"}}{{template"main"}}{{template"foot"}}{{end}}我从客户端读取json并找出要打开的页面。funcwebSocketHandler(conn*websocket.Conn){data:=conn.ReadJSON(&msg)ifdata!=nil{log.Fatal(data)return}LoadVista(msg.Temp,conn)}var(indexTemplate=template.Must(templat

go - 为什么 App Engine Flexible Enviroment 不允许 WebSockets 和 HTTP/2 流量?

我对WebSocket更感兴趣,但在阅读文档之后here,当我读到这篇文章时,我感到很惊讶:ThefollowingfeaturesarenotsupportedbyAppEngineflexibleenvironment:HTTP/2traffictothebackendservice,Websockets,HTTPrequeststhatdirectlyaccessinstances我打算用gorilla-websocket构建一个应用程序,但现在我已经阅读了这篇文章,但我不知道如何才能完成它。我了解WebSocket在AppEngine标准环境中不受支持,但为什么在灵活环境中不支

go - 发送带有标题文本的二进制数据

我正在使用MicrosoftBing语音服务在Golang和GorillaWebSocket中提供将语音转换为文本的服务。供引用https://learn.microsoft.com/en-us/azure/cognitive-services/speech/api-reference-rest/websocketprotocoljavascript实现https://github.com/Azure-Samples/SpeechToText-WebSockets-Javascript这里我们需要发送文本数据以及带有标题的音频数据。我能够发送文本数据,但无法发送带标题的音频二进制数据。

go - IIS 作为 golang socket.io 的反向代理

我使用IIShttpPlatformHandler在IIS后面运行socket.io的golang实现。当我禁用IISwebsocket模块让socket.io处理websocket连接时,我收到错误报告Sec-WebSocket-Accept响应header不存在。当我将应用程序作为独立进程运行时,header存在并且一切正常。我启用了iiswebsocket模块并且Sec-WebSocket-Accept现在存在但连接不稳定并且客户端因传输关闭原因而断开连接。有什么解决办法吗? 最佳答案 我不知道如何解决问题,但使用wss而不是