问题标签 [clientwebsocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
192 浏览

c# - C# ClientWebSocket 没有接收到所有数据包?

我已经构建了一个 Windows 服务,它使用 ClientWebSocket 实时订阅大约 10,000 个股票代码。如果我订阅 1,000 个代码,我会收到所有数据点(每秒接收几百条消息),一旦我收到 2,000 个代码,我似乎没有收到我应该收到的数据,10,000(接收每秒数千条消息)更糟。我运行了比较报告,看起来我丢失了多达 60% 的数据包。我已经就这个问题与多边形(实时数据的提供者)进行了交谈,他们声称他们的 Socket 是一根消防软管,所有应该熄灭的东西都会熄灭,而且他们的其他客户都没有抱怨。所以这里唯一合乎逻辑的事情就是假设它是我的代码,或者一些限制。也许它' 接收方法的任务部分?也许窗口有一个最大任务限制,我超过了它。

我还在具有 10gb 连接的高性能专用服务器上对此进行了测试,因此它似乎不是连接或硬件限制。

我也通过了我的 BlockingCollection 缓存,问题仍然存在。

望各位大侠有见解,谢谢!

这是我的代码:

0 投票
1 回答
86 浏览

c# - WebSocketReceiveResult 强制接收二进制

我正在使用Websocket.Clientwhich 是一个包装器ClientWebSocket,在它的内部我可以看到WebSocketReceiveResult它正在使用它来检测消息内容result.MessageType == WebSocketMessageType.Text

有没有办法强制 web socker接收二进制消息(不做任何转换为​​字符串?),还是服务器指定的数据格式?

0 投票
0 回答
156 浏览

javascript - 来自 javascript 客户端的 Websocket 服务器连接提供 net::ERR_CONNECTION_REFUSED

我的域 :: https://example.com

我的网络套接字服务器代码路径 :: http://live.example.com

我的 php 客户端路径:: http://live.example.com/client-php

我的 JS 客户端路径 :: http://live.example.com/client-web

我的 php websocket 服务器运行如下

我有两个客户端,一个是php-client ,它连接到套接字如下

运行上述代码后,websocket 连接成功,我可以从我的 socketcontroller 中看到新的连接日志,如下所示:

新连接!(51) 连接 51 已断开

接下来,我还有一个javascript Web 客户端,它也连接到相同的 Web 套接字,如下所示

但是在运行 Web 客户端控制台时,总是会出现以下错误

下面的行有问题吗?

新的 WebSocket('ws://localhost:8585');

我也尝试为 127.0.0.1、localhost、domain、socketserver 路径提供路径,但总是出现相同的错误。

请帮忙!!

0 投票
0 回答
131 浏览

c# - 只需使用带有证书的.Net System.Net.WebSockets 通过 WSS 客户端检查 WSS 服务器是否打开/关闭?

为什么总是出错找不到请求的对象?请参阅我的评论代码中的跟踪详细信息。

我需要实现 WSS 客户端并使用证书检查 WSS 服务器的可用性。

但是当尝试创建 的对象时X509Certificate2,出现错误:

找不到请求的对象

0 投票
1 回答
73 浏览

c# - 如何在 C# 中使用从 ClientWebSocket 接收的数据?

这是一个 Windows 窗体应用程序,它使用 C# 中的 ClientWebSocket 从特定服务器流式传输数据。

我是 C# 新手,所以我只是从其他地方复制/粘贴有关如何连接和接收来自服务器的实时更新的代码。

这是处理接收数据过程的代码:

payload.data是一个 JSON 对象,我可以使用Console.WriteLine.

但是我的表单中有很多标签控件,我想将Text每个标签的属性填充到来自payload.data. 我似乎无法找到如何执行此操作的方法,因为我无法访问static async Rask Receive方法内的标签。

例如,我写:

这不起作用,它说“非静态字段、方法或属性 'MainForm.MyLabel' 需要对象引用”。

那么,我该怎么做呢?

0 投票
0 回答
42 浏览

android - 在 Android 中从 ClientWebSocket 连接到 WebSocket 的问题

我编写了一个应用程序来通过 ClientWebSocket 连接到 WebSocket。这是 Asp.Net core 中中间件部分的设置:

这是Android方面:

当我单击客户端的连接按钮时,出现错误:“无法连接到远程服务器。”

0 投票
0 回答
90 浏览

c# - Dotnet ClientWebSocket 缓冲区大小

ClientWebSocketOptionsdotnet 中的类为 提供了选项ClientWebSocket,并且具有SetBuffer设置内部发送/接收缓冲区大小的方法。

什么是合适的值?显然 .net 框架中的最大值为 64kb,而 dotnet core 及更高版本没有上限。64kb 够用吗?它似乎很小,但我不确定。该文档没有提供有关适当值的任何信息。

0 投票
1 回答
177 浏览

c# - 如何在 C# 中为 clientwebsocket 设置监听器?

我在 c# 中使用上面给定的代码创建了 ClientWebSocket。现在我想听听通过这个套接字接收到的数据。我该如何设置监听器?

0 投票
1 回答
123 浏览

c# - 使用 ClientWebSocket 类接收消息抛出异常:WebSocket 接收到的帧设置了一个或多个保留位

我想做一个 websocket 客户端来连接第三方 web socket 服务器。

我正在使用 ClientWebSocket 类:

对于接收消息,我使用此方法:

但是对于某些消息,我会收到此异常消息: The WebSocket received a frame with one or more reserved bits set 我注意到这可能是由于某种压缩而发生的,因为我可以接收小消息。调用这个时抛出的异常result = await _client.ReceiveAsync(buffer, CancellationToken.None);

有谁知道如何解决这个问题?

0 投票
0 回答
79 浏览

c# - 是否可以从 .NET 4.7 中的 System.Net.WebSockets.ClientWebSocket 获取 onMessage 事件?

使用 System.Net.WebSockets.ClientWebSocket ( https://docs.microsoft.com/en-us/dotnet/api/system.net.websockets.clientwebsocket?view=netframework-4.7 ) 时没有提供任何事件。为什么会这样?您将如何实现一种方法来注册一个 onMessage 事件,一旦通过 websocket 连接有消息,该事件就会被调用?

它只有 ClientWebSocket.ReceiveAsync 方法,但是如果没有事件,您必须循环它,我认为这没有多大意义。有人有更好的解决方案吗?

几年前有一个类似的问题,但没有真正的答案(Why is there no onmessage Event for ClientWebSocket Class in C# .NET 4.5?