SignalR等待启动连接
我正在实施Signalr库,以在ASP.NET MVC应用程序中使用一种"队列"中使用WebSocket. 只有两个用户时,一切都按预期工作.当第三个登录时(我的意思是,我打开一个新选项卡)时,他的信号启动请求正在待处理,其他用户无法再使用应用程序. 所有浏览器都在发生:如果我打开3个镀铬标签,或3个Firefox,或2个Chrome或1个Firefox,或2个Firefox和1个Chrome. 我的代码与SignalR教程提供的代码相同:"从信号2和MVC 5开始. 有人可以解决这个问题吗?我开始认为这是IIS的限制,但我不是100%确定的.我正在使用最后的SignalR版本(2.3.0),4.6.1 ASP版本(我已经在IIS配置中启用了Websockets). 我找到了一个类似的问题( Signalr开始待处理)给出答案. javascript(客户端)代码: var attendHub = $.connection.attendHub;
10 2024-04-26
编程技术问答社区
在没有IIS的情况下使用WebSocket
我想知道是否有一种方法可以让WebSocket类进行Websocket握手过程而不是IIS. 我编写了自己的Websocket TCP服务器,该服务器确实可以做到这一点,但是当我可以使用专门为此目的写的类时,我不愿意编写所有操作码/帧检查和解码. 也许我可以使用一些混合版本,其中有一个单独的服务器,可以使用握手,但是我不确定如何让两个服务器聆听同一端口.握手服务器 + WebSocket服务器. 有什么想法吗?谢谢! 解决方案 由于我找不到使用.NET WebSocket类我最终使用的第三方库 superwebsocket 这真的很容易使用,并且可以完成我需要的一切. 其他解决方案 您还可以使用xsocket.net http://xsockets.net/. 我实现了WebSocket服务器 https://github.com/vtortola/websocketlistener .它类似地工作o a TcpListener.
14 2024-04-26
编程技术问答社区
Xsocket的插件框架不起作用:我无法获得IXSocketServerContainer的实例
我有以下代码来启动我的服务器: private static IXSocketServerContainer server = null; public SocketServer() { server = XSockets.Plugin.Framework.Composable.GetExport(); } 在WinxP和Win7下,这对我来说很好,并具有完全相同的DLL和EXE文件,但是现在我在WinServer 2008下部署了我的系统,并且我会得到以下错误: clssocketinthandler |新,startin 服务器| 0 | 0 || 0 || typeInitializationException:;类型的初始化器 对于'xsockets.plugin.framework.com.posable'提出了例外. ;这 预计模块将包含一个装配清单. (来自 Hresult:0x80131018)
10 2024-04-26
编程技术问答社区
Azure WebApp httplistener
我创建了一个简单的C#控制台应用程序(Net7.0)作为我的多人卡游戏的服务器. 它使用 httplistener 接收连接请求,然后升级到WebSocket连接. // Start listening for websocket requests public async void Start() { HttpListener listener = new(); listener.Prefixes.Add("http://+:80/cardgame/"); listener.Start(); #if DEBUG Console.WriteLine("Listening..."); #endif while (true) { HttpListenerContext listenerContext = await listener.GetContextAsync(); if (
26 2024-04-26
编程技术问答社区
通过WebSocket调用表单时如何加载WebView2 winform(我的编辑后,上一个问题仍然关闭)
m使用WebView2,因为我发现它可以替代我使用的内容(因为它不支持Facebook的加载视频). webview2 form的简单项目带有一个按钮,该按钮显示了另一个具有WebView的表单,其正常工作(通过视频显示Facebook). 现在,我的障碍正在尝试通过接收WebSocket接收到WebView2表单,但我仍然没有运气加载WebView2,而仅显示黑色表单.我正在使用application.run(webview2form)加载WebView winform,因为WebView2form.show在WebSocket上不起作用.关于这个问题有什么建议吗?谢谢. 我对WebView2的新鲜事物是新的,因为我发现它可以替代我使用的是CEFSHARP(因为它不支持Facebook加载视频). webview2 form的简单项目带有一个按钮,该按钮显示了另一个具有WebView的表单,其正常工作(通过视频显示Facebook). 现在,我的障碍正在尝试通过接收W
10 2024-04-26
编程技术问答社区
装配加载问题("无法加载类型")
我有一个使用两个不同的Websocket参考的问题.一个是一个较新的版本,实现了一个名为" socketio"的扩展Websocket,另一个仅是标准RFC6544 Websocket.较新的一个或多或少的"继承"了较老的部分,但截至今天,它们并没有真正兼容.由于各种原因,我需要能够在项目中使用两者. 现在,如果我一个人尝试它们,它们正常工作. 如果我一起在一个项目中尝试它们,我会得到一个新的例外: "无法加载类型...从汇编....版本= ...等". 显然,它搜索了其他 websocket参考的组件,但找不到它. 他们不共享认同的类名称,例如明确命名参考没有效果,也没有visualStudio标记的公开冲突. 我已经搜索过搜索,但找不到解决方案.如何确切地告诉程序在哪里寻找新的组装. 更新: 所以我查看了套筒清单,确切的问题是: 套接字引用了websocket4net的旧版本 WebSocket4net的当前版本缺少其中一些
12 2024-04-25
编程技术问答社区
从web->web api->console app再返回的最佳通信方式是什么?
我启动一个小型代码项目以从过程中学习,但是我不确定不同部分之间交流的最佳方式是什么. 首先,我有一个纯HTML/JS客户端,用户需要经常进行实时更新. 其次,我正在考虑运行Web API应用程序来提供数据. 第三我运行了一个控制台应用程序,需要与Web API应用程序进行通信. 因此,我正在考虑从客户端 - > Web API->控制台应用程序一直使用Websockets,但是我很难使其正常工作.我可以使Console应用程序作为服务器工作,但是我不知道如何使Web API作为客户端工作,因此当它旋转时,可以与控制台应用程序建立连接,并保持开放式连接以进行通信,虽然它会根据请求向客户提供数据. 我尝试了不同的实现,但我最终使用了Signalr,因为这似乎是人们今天使用的:) 由于我有所有这些问题,因此我想知道是否有更好的方法来满足我的要求? 如果Websocket(使用SignalR)是要走的路,您可以提供一些与工作示例的链接?我尝试了Google的所有顶级链
10 2024-04-25
编程技术问答社区
使用tcplistener服务器将消息发送回客户
我有这个c#class using System; using System.Text; using System.Text.RegularExpressions; using System.Security.Cryptography; using System.Collections.Generic; using System.Linq; using System.Threading; class Server { const string SERVER_IP = "127.0.0.1"; const int SERVER_PORT = 9998; TcpListener server = new TcpListener(IPAddress.Parse(SERVER_IP), SERVER_PORT); public void Start () { server.Start(); Console.WriteLine("Server has
8 2024-04-25
编程技术问答社区
没有全部收到Web Socket消息
我已经使用 alchemy Web插座实现了Web插座服务器,现在正在尝试强调对其进行测试.我已经在C#中编写了以下方法,以创建许多客户端连接到服务器并发送一些数据: private void TestWebSocket() { int clients = 10; long messages = 10000; long messagesSent = 0; String host = "127.0.0.1"; String port = "11005"; WSclient[] clientArr = new WSclient[clients]; for (int i = 0; i
12 2024-04-24
编程技术问答社区
ClientWebSocket-SocketException。无法建立连接
我正在尝试使用ClientWebsocket连接到WebSocket Server(Demo或localhost). 我有一个例外: System.Net.WebSockets.WebSocketException HResult=0x80004005 Message=Unable to connect to the remote server Source=System.Net.WebSockets.Client StackTrace: Inner Exception 1: HttpRequestException: No connection could be made because the target machine actively refused it Inner Exception 2: SocketException: No connection could be made because the target machine actively
8 2024-04-24
编程技术问答社区
.NET核心支持网络套接字吗? 抛出 "System.Net.WebSockets.WebSocketException异常"。
我使用.NET Core 2.1编写了控制台应用程序. 此应用程序的责任是:连接到Azure IoT hub并发送数据. 我仍然低于异常 system.net.websockets.websocketexception(0x80004005):无法连接到远程服务器----> System.net.http.http.httprequestexception:无法建立SSL连接,请参见内部异常. ---> system.security.authentication.authentication exception:根据验证过程,远程证书无效. 在system.net.security.sslstate.startsendauthresetsignal 注意: 我正在通过 Windows嵌入式标准运行代码. 使用Web插座 在Windows 10中正常工作 这是我的nuget参考 using Microsoft.Azure.Devices
18 2024-04-24
编程技术问答社区
服务器端的C# Websocket,如何在监听取消令牌时运行一个循环?
在我的VUE/.NET CORE 2.3项目中,我已经开始用WebSockets更换标准的AJAX呼叫,我正在实施股票定价流服务以更新前端,就像何时实时更新股票.以前的价格更新用于每5秒从FE发送一个间隔请求,以从方法StockProcess().GetStockPricing(symbol) 获得新价格 下面的新WebSocket实现现在使用相同的后端GetStockPricing()代码,但是现在的检查循环现在在后端,因此当客户端连接时,方法将继续向后发送价格. 该实现原则上完美地效果很好,如果发生价格变化,该方法将将更新发送给客户,完美. apicontroller.cs [HttpGet("GetStockPricingAsync", Name = "GetStockPricingAsync")] public async Task GetStockPricingAsync(string symbol) { var isSocketRequest =
12 2024-04-24
编程技术问答社区
在TLS网络套接字服务器中使用SslStream的问题
我遵循此示例创建我的测试证书.我为服务器使用了Certificate.cer Certificate.pfx Certificate.pfx用于客户端: makecert -r -pe -n "CN=Test Certificate" -sky exchange Certificate.cer -sv Key.pvk -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\pvk2pfx.exe" -pvk Key.pvk -spc Certificate.cer -pfx Certificate.pfx 我正在尝试创建一个Web套接字服务器,并从通信的客户端和服务器侧正确验证证书.这是我目前正在构建的整个控制台应用程序: using System; using System.Collections.Generic; using System
10 2024-04-24
编程技术问答社区
在C#中从WebSocket流中读取整个字符串
我是C#的新手. 在Java中,我们可以从Websocket的输入流读取整个字符串. 例如: dis = new DataInputStream(clientSocket.getInputStream()); String command = dis.readUTF(); 等等... 可以在C#中做同样的事情,因为我到目前为止发现的唯一可能的方法是阅读字节? Byte[] bytes = new Byte[client.Available]; stream.Read(bytes, 0, bytes.Length); 如果没有解决方法,并且我们只能在C#中读取单个字节,我该如何确定用户是否按下了Enter按钮(这意味着命令已完成,我可以在服务器上处理它 - 侧)? 解决方案 要读取一行(即一个字符串,然后是" \ r"和/或" \ n"),使用 StreamReader.ReadLine : string command; using (St
10 2024-04-24
编程技术问答社区
WebSockets-服务器消息上断开连接
我是Websocket的新手,并使用WS和C#控制台应用程序寻找工作样本. 我遇到了这个,但是我已经有问题了.当服务器向客户端发送消息时,连接似乎已关闭.我不确定,但我认为握手还可以.这是一个代码: 服务器: using System; using System.Net.Sockets; using System.Net; using System.Security.Cryptography; using System.Threading; namespace ConsoleApplication1 { class Program { static Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP); static private string guid = "258EAFA5-E914
12 2024-04-23
编程技术问答社区
如何用System.Net.HttpListener在WebSocket中启用SSL?
我正在Windows Azure(一个工作角色)上使用.NET 4.5和HTTPLISTENER类来制作我自己的WebSocket服务器.对于HTTP非安全连接,它运行良好.问题在于,我需要使SSL(WSS://)确定的WebSocket连接. 我一直在寻找,httplistener class文档和互联网都没有对我有很大帮助. 我发现httpcfg.exe应该帮助我配置证书,但没有幸运. 所以,这是我的问题: 有什么方法可以从我的代码中启用它?像从商店中阅读证书并以某种方式将其设置在Httplistener上? 如果不是,httpcfg.exe是解决方案吗?如果是,如何使用它? 如果1 == no and 2 ==是的,我如何在Azure中使用httpcfg? 谢谢!我非常感谢您的帮助... 最好的问候... gutemberg 解决方案 好吧,刚刚发现. 由于 httplistener 是 http.sys 的包装器,因此我
26 2024-04-23
编程技术问答社区
WebSocket 服务器,客户端 -> 服务器框架屏蔽
我正在尝试在vb.net中编写一个简单的Websocket服务器.我能够建立连接并将数据从服务器发送到客户端.我无法解码从客户端发送的帧.我只能解码其中的一部分. 我试图从此答案中实现伪code:我如何发送和接收... ,但正如我所说 - 我只能解码框架的一部分. 这是我从客户端解码帧的代码: bytesLen = netStream.Read(bytesArray, 0, bytesArray.Length) If bytesArray.Length > 1 Then Msg("---------------------------------------------------") Msg("data type: " & bytesArray(0)) Dim secondByte As Byte = bytesArray(1) Dim theLength As UInteger = secondByte And 127 D
42 2024-04-23
编程技术问答社区
PHP 使用 2 个 React 连接器从原始 tcp 套接字读取数据并通过 WebSocket 客户端发送数据
在这里我要做的事情: (套接字服务器:9006)(WebSocket客户端) - >(:8080 WebSocket Server) 我想从套接字服务器读取数据, 编辑一些内容,然后发送到WebSocket服务器. 我必须能够同时读取来自Webocker Server的数据 我设法使用套接字服务器的1个React连接器和Websocket服务器的1个Ratchet连接器设法连接到两个服务器: $loop = React\EventLoop\Factory::create(); $connector = new React\Socket\Connector($loop); $connector->connect('192.168.0.1:9006')->then(function (React\Socket\ConnectionInterface $connection) use ($loop) { $connection->pipe(new React\
16 2024-04-23
编程技术问答社区
socket.broadcast.to().emit() vs socket.to().emit()
: 有什么区别 socket.broadcast.to().emit() 和 socket.to().emit() 在 socket.to('game').emit('nice game', "let's play a game"); // sending to all clients in 'game' room except sender 然后在socket.broadcast.to('game').emit('message', 'nice game'); //sending to all clients in 'game' room(channel) except sender socket.to('game').emit('message', 'enjoy the game'); //sending to sender client, only if they are in 'game' room(channel) 所以我真的很困惑.
18 2024-04-23
编程技术问答社区
在三星智能电视上使用 WebSockets
我的要求是在我的三星智能电视应用程序中拥有一个侦听套接字,以便从同一本地网络中的设备接收事件. 我一直在搜索网络以进行此操作的方法,我遇到了 node.js , socket.io , websocket .即使我在Web开发方面了解这些术语(我认为),但我也无法想象一种在我的三星智能电视应用中打开听力插座的方法. 仅出于播放的目的,我使用 gcd async sockets 想到将其连接到智能电视并发送欢迎消息. 这是我智能电视上的代码 - //var wsUri = "wss://echo.websocket.org/"; var wsUri = "ws://192.168.1.116:9898/"; //var output; var webSocketObj={}; webSocketObj.init = function() { //output = document.getElementById("output"); this.testWe
26 2024-04-23
编程技术问答社区