问题标签 [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.
c# - C# ClientWebSocket 没有接收到所有数据包?
我已经构建了一个 Windows 服务,它使用 ClientWebSocket 实时订阅大约 10,000 个股票代码。如果我订阅 1,000 个代码,我会收到所有数据点(每秒接收几百条消息),一旦我收到 2,000 个代码,我似乎没有收到我应该收到的数据,10,000(接收每秒数千条消息)更糟。我运行了比较报告,看起来我丢失了多达 60% 的数据包。我已经就这个问题与多边形(实时数据的提供者)进行了交谈,他们声称他们的 Socket 是一根消防软管,所有应该熄灭的东西都会熄灭,而且他们的其他客户都没有抱怨。所以这里唯一合乎逻辑的事情就是假设它是我的代码,或者一些限制。也许它' 接收方法的任务部分?也许窗口有一个最大任务限制,我超过了它。
我还在具有 10gb 连接的高性能专用服务器上对此进行了测试,因此它似乎不是连接或硬件限制。
我也通过了我的 BlockingCollection 缓存,问题仍然存在。
望各位大侠有见解,谢谢!
这是我的代码:
c# - WebSocketReceiveResult 强制接收二进制
我正在使用Websocket.Client
which 是一个包装器ClientWebSocket
,在它的内部我可以看到WebSocketReceiveResult
它正在使用它来检测消息内容result.MessageType == WebSocketMessageType.Text
。
有没有办法强制 web socker只接收二进制消息(不做任何转换为字符串?),还是服务器指定的数据格式?
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 路径提供路径,但总是出现相同的错误。
请帮忙!!
c# - 只需使用带有证书的.Net System.Net.WebSockets 通过 WSS 客户端检查 WSS 服务器是否打开/关闭?
为什么总是出错找不到请求的对象?请参阅我的评论代码中的跟踪详细信息。
我需要实现 WSS 客户端并使用证书检查 WSS 服务器的可用性。
但是当尝试创建 的对象时X509Certificate2
,出现错误:
找不到请求的对象
c# - 如何在 C# 中使用从 ClientWebSocket 接收的数据?
这是一个 Windows 窗体应用程序,它使用 C# 中的 ClientWebSocket 从特定服务器流式传输数据。
我是 C# 新手,所以我只是从其他地方复制/粘贴有关如何连接和接收来自服务器的实时更新的代码。
这是处理接收数据过程的代码:
payload.data
是一个 JSON 对象,我可以使用Console.WriteLine
.
但是我的表单中有很多标签控件,我想将Text
每个标签的属性填充到来自payload.data
. 我似乎无法找到如何执行此操作的方法,因为我无法访问static async Rask Receive
方法内的标签。
例如,我写:
这不起作用,它说“非静态字段、方法或属性 'MainForm.MyLabel' 需要对象引用”。
那么,我该怎么做呢?
android - 在 Android 中从 ClientWebSocket 连接到 WebSocket 的问题
我编写了一个应用程序来通过 ClientWebSocket 连接到 WebSocket。这是 Asp.Net core 中中间件部分的设置:
这是Android方面:
当我单击客户端的连接按钮时,出现错误:“无法连接到远程服务器。”
c# - Dotnet ClientWebSocket 缓冲区大小
ClientWebSocketOptions
dotnet 中的类为 提供了选项ClientWebSocket
,并且具有SetBuffer
设置内部发送/接收缓冲区大小的方法。
什么是合适的值?显然 .net 框架中的最大值为 64kb,而 dotnet core 及更高版本没有上限。64kb 够用吗?它似乎很小,但我不确定。该文档没有提供有关适当值的任何信息。
c# - 如何在 C# 中为 clientwebsocket 设置监听器?
我在 c# 中使用上面给定的代码创建了 ClientWebSocket。现在我想听听通过这个套接字接收到的数据。我该如何设置监听器?
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);
有谁知道如何解决这个问题?
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?)