草庐IT

WEBSOCKET

全部标签

json - 通过 STDIN/STDOUT 使用 json 的 websocketd

我们构建的软件由两部分组成,一个在浏览器中运行的GUI(前端)和一个将Go编译成exe的内核(后端)。为了将这两个部分粘合在一起,我们使用了在本地机器上运行的nodejs+expressjs+socket.io。Nodejs通过http/socket.io与浏览器对话,它还“生成”Goexe作为child_process。现在websocketd,我们可以跳过nodejs+expressjs+socket.io部分。太好了。难点在于:浏览器中的GUI,用于将JSON发送给nodejs,然后写入配置文件。我们的内核exe将读取该JSON配置文件以确定要做什么。我想不能通过STDIN/ST

运行 Go 应用程序的多个实例时的 Gorilla websocket 连接

为了保存Gorillawebsocket连接,我可以这样做,其中key可以是userId。connections:=make(map[int]*connection)我正在使用一种叫做supervisord的东西http://supervisord.org/这是一个过程控制系统,因此我能够运行go应用程序在后台作为守护进程。看起来有几个实例正在生成。如果我将其设为全局变量,这些实例是否知道如何访问相同的连接变量?varconnectionsmap[int]*connection还是会有问题?此外,由于map不是线程安全的,我是否应该创建一个结构并添加sync.RWMutex并在检查ke

go - 为什么这个Go程序建立websocket连接失败?

我正在使用这个ip192.168.1.55。我需要向192.168.1.137发送一些数据。我正在使用这段代码packagemainimport("fmt""net/http""os""code.google.com/p/go.net/websocket")funcEcho(ws*websocket.Conn){fmt.Println("Echoing")forn:=0;n但是我的ip没有连接到我上面提到的另一个ip(192.168.1.137)。如何解决这个问题? 最佳答案 给出的处理路径是错误的。您必须定义websocket应该

Golang websocket nil内存错误

下面是我的websocket服务器的代码。http.Handle("/gatewayconnector",websocket.Handler(socketHandler))方法socketHandler的代码如下:funcsocketHandler(ws*websocket.Conn){LoadClient(ws)varmsg[]bytefor{iferr:=websocket.Message.Receive(ws,&msg);err!=nil{log.Error("ErrorinsocketHandler:",err)break}validateMessage(msg)}}套接字处理

javascript - Websocket 握手失败 404(golang 服务器)

我有一个简单的goweb服务器,它在端口localhost:8080上提供一个公共(public)文件夹,其中包含一个html文件以及一个带有websocket逻辑的客户端脚本。在我的main.gofilelistener,err:=net.listen("tcp","localhost:8080")iferr!=nil{log.Fatal(err)}//fullcodeingisthttps://gist.github.com/Kielan/98706aaf5dc0be9d6fbe然后在我的客户端脚本中try{varsock=newWebSocket("ws://127.0.0.1:

用于下载进度的 Golang 和本地 Web 界面?

我是Go的新手,正在尝试制作一个跨浏览器的应用程序,它可以下载多个带有进度条的url。Grab包可以很好地完成这项工作,如下例所示。现在,我想要一个独立的/可移植的/单一可执行的网络用户界面,它可以在网络浏览器中显示来自以下代码的下载进度?packagemainimport("fmt""github.com/cavaliercoder/grab""os""time")funcmain(){//getURLtodownloadfromcommandargsiflen(os.Args)0{fmt.Printf("\033[%dA\033[K",inProgress)}//updatecom

go websocket jsonrpc 浏览器连接关闭

我有一个WebSocketJSON-RPC服务器示例,我想在浏览器中使用它。当你访问“http:localhost:8080”这个URL时,浏览器会正常打开WebSocket连接。但是当浏览器发送WebSocket请求时,服务器关闭了WebSocket连接。我什至看不到在服务器上调用RPC方法的痕迹。但是,从Go客户端调用服务器工作得很好。server.gopackagemainimport("log""net/http""net/rpc""net/rpc/jsonrpc""github.com/gorilla/websocket")typeServicestruct{}func(t*

Go websockets 数据 gopherjs

我目前正在尝试使用websockets进行通信,我的代码如下(我使用的是gorilla)buff:=bytes.NewBuffer([]byte{})binary.Write(buff,binary.LittleEndian,uint64(1))binary.Write(buff,binary.LittleEndian,len(message))binary.Write(buff,binary.LittleEndian,message)client.Writec.Writechannel在一个forselect循环中casemsg:=客户端只是一个结构体typeClientstruct

go - 尝试恢复 Websocket 连接

我正在使用thislibrary.几个小时或一天后,websocket.JSON.Recieve将出错并获得EOF。我再次连接到Web套接字,没有问题,但我一直收到EOF,直到我重新启动我的应用程序。funcgetMessage(ws*websocket.Conn)(mMessage,errerror){err=websocket.JSON.Receive(ws,&m)iferr!=nil{log.Printf("GetMessage-%s-Reconnecting...",err)ws,_=connect(token)//Thisjustdoesadialerr=websocket.

json - 使用 Go 通过 HTTP 发送连续数据

我目前正在使用Go开发Web服务,该服务本质上是接受请求并发回JSON,非常典型。但是,这个特定的JSON需要10多秒才能真正完成并返回。因为我也在制作一个依赖于JSON的网站,并且JSON内容可能会发生变化,所以我实现了一个快速生成并返回(可能更新或新的)名称作为占位符的路由,这些名称稍后会被对应的实际值替换到名字。这背后的整个想法是网站将连接到服务,几乎立即取回JSON以填充表格,然后等到要填写的实际数据从服务返回。这是我遇到问题的地方,可能是因为我是Go的新手并且不完全理解其庞大的库。我以前通过HTTP请求发送回JSON的方法是ResponseWriter.Write(theJS