1

我正在尝试使用 VB.NET 编写一个非常简单的 WebSocket 客户端,但找不到现成的 webSocket 控件。

有一个控件完全符合我的要求:IP*Works! WS来自 nSoftware,但不幸的是,他们为此收取了一大笔钱。

这是他们提供的演示应用程序的屏幕截图:

在此处输入图像描述

问题:有人知道类似的免费/低预算 .NET 控件可以做同样的事情吗?

注意:我已经用 VB.NET 测试了这个演示应用程序,它可以完美地连接到:ws://echo.websocket.org

编辑:另外,我仍然有兴趣听取和用户的意见XOJO/RealBasic,以获得实际适用于该服务器的类似解决方案->XamarinLiveCodews://echo.websocket.org

4

2 回答 2

2

您自己使用 RealStudio 进行的测试和我使用 LiveCode 进行的测试(到目前为止)都不起作用,因为每次请求都需要发送标头。客户端与服务器握手需要发送的标头是

    GET /chat HTTP/1.1
    Host: server.example.com
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
    Origin: http://example.com
    Sec-WebSocket-Protocol: chat, superchat
    Sec-WebSocket-Version: 13

或许,您可以在 LiveCode 中设置 httpHeaders 并使用简单的 put/get URL 命令与服务器通信。我会试试这个,稍后会编辑我的答案。

另一个 LiveCode 解决方案是设置 revBrowser 控件的 html 并使用该函数从 LiveCode 脚本调用 JavaScriptrevBrowserExecuteScript()函数。

于 2014-07-13T10:47:57.787 回答
1

好的,经过几天的研究,我想通了:

  • 整个过程中有VB.NET很多可用的库和信息,并且有一些现成的可用控件。Nsoftware 有一个很好的但是太贵了。免费控件不是那么好,而且大多数都已过时(旧规格)。最好的办法是手动编写规范,但现有的演示、文档和库非常有用。

  • 由于XOJO没有现成控件之类的东西,所以我不得不使用 TCP Socket 控件并手动实现规范。多亏了社区,它现在可以正常工作了,因为它的帮助文章是垃圾。

  • 我没有花太多时间进行测试,LiveCode但我相信问题是一样的。由于没有现成可用的控件,至少据我所知,我可能不得不像在 Xojo 中那样在 Live Code 中手动编写规范。

基本上,虽然不容易,但我猜想用任何编程语言都是可能的。

于 2014-07-25T06:42:26.883 回答