(Autohotkey)使用Autohotkey通过WebSocket获取空响应,我不知道我的代码出了什么问题

6qftjkof  于 2023-06-06  发布在  其他
关注(0)|答案(1)|浏览(135)

我正在尝试通过WebSocket使用Autohotkey获取字典。与成功的例子不同,我的错误只是没有得到任何答案。我想它应该给予我一个字典一样的字符串。它似乎连接得很好,因为我没有看到错误消息。只是接收空字符串。
是不是和UTF和编码/解码有关?我看不出有什么问题。希望我能得到任何答案。我被卡住了。谢谢

#Include WebSocket.ahk

New HelperClass("wss://api.upbit.com/websocket/v1")

class HelperClass extends WebSocket
{
    OnOpen(Event)
    {
        DataToSend := "[{""ticket"":""test1243563456""},{""type"":""trade"",{""type"":""trade"",""codes"":[""KRW-BTC"", ""KRW-ETH""]}]"
        this.Send(DataToSend)
    }
    
    OnMessage(event)
    {
        MsgBox, % "Received a message!:`n" Event.data
        this.Close()
    }
    
    OnClose(Event)
    {
        MsgBox, Websocket Closed
        this.Disconnect()
    }
    
    OnError(Event)
    {
        MsgBox, Websocket Error
    }
    
    __Delete()
    {
        MsgBox, Exiting
        ExitApp
    }
}
kqlmhetl

kqlmhetl1#

这不会像你想的那样有帮助,因为原始链接不是活的,只是在调试中有一点帮助。
JSON.ahk is there

#Include <WebSocket>
#Include <JSON>

New HelperClass("wss://api.upbit.com/websocket/v1")

class HelperClass extends WebSocket
{
        OnOpen(Event)
        {
                DataToSend := "[{""ticket"":""test1243563456""},{""type"":""trade"",{""type"":""trade"",""codes"":[""KRW-BTC"", ""KRW-ETH""]}]"
                this.Send(DataToSend)
        }
        
        OnMessage(event)
        {
                MsgBox, % "Received a message!:`n" Event.data
                this.Close()
        }
        
        OnClose(Event)
        {
                MsgBox, Websocket Closed
                this.Disconnect()
        }
        
        OnError(Event)
        {
                MsgBox, Websocket Error
        }

        OnData(Data)
        {
            msgbox, % "OnData: " JSON.Dump( Data ) 
        }
    
    _Event(EventName, Event)
    {
        msgbox, % EventName " " Event
    }
        __Delete()
        {
                MsgBox, Exiting
                ExitApp
        }
}

这显示了由ws服务器发送的信息的类型,如果它是“数据”,OnData将向您显示其内容。

相关问题