当前位置: 首页 > 面试题库 >

通过golang生成的WebAssembly上的Websocket?

沈宇定
2023-03-14
问题内容

是否可以在wasm over中编写Websocket客户端?我尝试使用gorilla/websocket,但没有成功:

func main() {
    ws := func(this js.Value, inputs []js.Value) interface{} {
        go func() {
            wsDial, r, err := websocket.DefaultDialer.Dial("ws://localhost:3000/ws", nil)
            fmt.Println(wsDial, r, err)
        }()
        return nil
    }

    js.Global().Set("ws", js.FuncOf(ws))

    select {}
}

致电时出现以下错误ws()

dial tcp: Protocol not available

问题答案:

我已经通过WebSocket从全局JavaScript对象中检索对象解决了它,在我的情况下,这是window因为我正在浏览器中运行它。我只使用了“
syscall / js”库。看起来像这样:

ws := js.Global().Get("WebSocket").New("ws://localhost:8080/ws")

ws.Call("addEventListener", "open", js.FuncOf(func(this js.Value, args []js.Value) interface{} {
    fmt.Println("open")

    ws.Call("send", js.TypedArrayOf([]byte{123}))
    return nil
}))


 类似资料:
  • 问题内容: 我需要在maven pom.xml文件中设置一个属性,该属性应该是UUID。谁能告诉我 将属性设置为UUID的最佳方法是什么? 我正在使用启动gigaspaces的配置文件,并且gigaspaces需要组名, 想要唯一(uuid)。因此,在我的个人资料中,我想设置一个groupName属性值 每次构建都应更改。我自己写了一个UUIDGenerator插件,因为没有找到任何插件。 因此,

  • 问题内容: 我经常去一个网站查找东西。我对自己心想:“继续。我可以编程。当我可以编写一个可以为我做的软件时,为什么要手动进入该站点?”。 所以我开始了。我正在使用C#,所以我找到了WebClient和Uri。 我已经设法获取了该站点的源代码,但是问题出在加载源代码之后,我要查找的特定数据是通过AJAX生成的。 那就是我的问题。如果需要先通过AJAX调用来请求,该如何获取该代码? 问题答案: 通用方

  • 本文向大家介绍python通过openpyxl生成Excel文件的方法,包括了python通过openpyxl生成Excel文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python通过openpyxl生成Excel文件的方法。分享给大家供大家参考。具体如下: 使用前请先安装openpyxl: 通过这个模块可以很方便的导出数据到Excel 希望本文所述对大家的Python程序设

  • 问题内容: 我正在使用mpdf库生成用户生成的html的PDF。我可以使PDF成功保存到服务器,但是我希望PDF在用户浏览器中打开。我尝试使用mpdf的输出选项在浏览器中打开文件或提示下载,但是当我使用AJAX将html数据发送到脚本时都没有发生。 这是我的AJAX: 这是我的PDF生成脚本: 我正在使用AJAX,因此无需浏览页面即可创建PDF。我的代码中是否有错误,还是应该使用其他方法? 问题答

  • 假设我生成了一个具有多个属性的域对象。我想为defn类中的一个对象属性生成@jsonignore注释。

  • 0305 线下面试 1.没有八股 有一个提前给的算法题 & sql题 均分数组为k份 然后相对顺序不变 每份尽可能平均 2.面试过程就是围绕你的简历问你的项目经验 举出你的实际工作经历,具体你做了那些工作 30-40min #面经# 发发面经攒攒人品