- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个我已经开始的小型 SignalR 项目,现在它所做的只是接收一个字符串并将其回显给所有连接的用户。
我想知道的是,由于 SignalR 在我的服务器上打开了 websockets - 如何使用常规 websockets javascript 代码连接到服务? (我有理由想在没有 SignalR 库的情况下这样做)。
我看过使用 chrome 开发者工具,我发现浏览器连接的地址是:
ws://localhost:53675/signalr/connect?transport=webSockets&clientProtocol=1.4&connectionToken=YKgNxA6dhmtHya1srzPPIv6KFIYEjLTFOogXqcjPErFcKCmRdjvS2X6A2KmraW%2BrLnRUNf68gYPdOkOOgJ8yRcq4iCDm%2BbUyLejsr2NySNZBvLloWuMIAvgI6oC%2Fyt%2Ba&connectionData=%5B%7B%22name%22%3A%22ophirhubtest%22%7D%5D&tid=7
如何生成 token ?
然后,似乎客户端和服务器之间的消息只是常规的 json 格式的文本(很容易模仿):
{"C":"d-9E7D682A-A,1|E,0|F,1|G,0","S":1,"M":[]}
{"H":"ophirhubtest","M":"Echo","A":["test"],"I":0}
{"C":"d-9E7D682A-A,2|E,0|F,1|G,0","M":[{"H":"ophirHubTest","M":"printEcho","A":["You said: test"]}]}
如果我只是尝试连接而不是连接但连接很快关闭。如果我删除 token ,它会立即关闭。
是否可以“手动”连接到 WS?
最佳答案
在您可以连接到服务器之前,需要进行连接协商。这是服务器发送发送和接收消息所需的所有数据的时候。如果没有连接协商,您将无法连接到服务器。实现连接协商后,您可能已经实现了 SignalR 客户端的一半。我写了一个blog post describing SignalR protocol这应该可以帮助您了解底层的工作原理,以及为什么使用您自己的 websocket 连接到服务器并不简单(或者如果您不遵循 SignalR 协议(protocol),则根本不可能)。
编辑
SignalR 的 ASP.NET Core 版本现在允许使用裸 webSocket 连接到服务器。
关于javascript - SignalR - 从没有 SignalR 库的 javascript 连接到 websocket 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542588/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!