从前端javascript websockets发送的json对象就像
message_type: "1"
to: "umesh"
from: "moin"
body: ""
file: "{"filename":"reportesmtp.pdf"
,"fileextension":"application/pdf" ,"filesize":61813
,"filedata":"37,80,6848,52,48,57,....,10,37,37,69,79,70,10"}
"
message_id: "9"
message_stage_id: "0"
该数据由发送
//javascript
websocket.send(data)
经过一些修改并在使用golang编写的服务器上收到
//golang
websocket.JSON.Receive(u.Ws, &msg)
以上给err为
err: unexpected end of JSON input
err: invalid character ',' after top-level value
err: invalid character ',' looking for beginning of value
但是可以正常工作,直到文件大小约为35kb。
成功
不使用socket.io。
最佳答案
当文件大于大约35kb时,客户端将对消息进行分段。 golang.org/x/net/websocket软件包does not handle fragmented messages。
通过使用golang.org/x/net/websocket documentation中推荐的一种websocket软件包进行修复:
关于javascript - 在websockets javascript和golang服务器上工作,尝试发送文件和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61155303/