Tag: websocket

使用Javascript客户端的WCF自托管WebSocket服务

我有这个WCF自托管的WebSocket服务代码: 主要: //Create a URI to serve as the base address Uri httpUrl = new Uri(“http://192.168.1.95:8080/service”); //Create ServiceHost ServiceHost host = new ServiceHost(typeof(WebSocketService), httpUrl); //Add a service endpoint host.AddServiceEndpoint(typeof(IWebSocket), new NetHttpBinding(), “”); //Enable metadata exchange ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; host.Description.Behaviors.Add(smb); //Start the Service host.Open(); Console.WriteLine(“Service is host at ” + DateTime.Now.ToString()); […]

使用C#连接到websocket(我可以使用JavaScript连接,但C#给出状态代码200错误)

我是websocket领域的新手。 我可以使用以下代码使用JavaScript连接到websocket服务器: var webSocket = new WebSocket(url); 但对于我的应用程序,我需要使用c#连接到同一台服务器。 我使用的代码是: ClientWebSocket webSocket = null; webSocket = new ClientWebSocket(); await webSocket.ConnectAsync(new Uri(url), CancellationToken.None); 代码的第3行导致错误: “当预期状态代码101时,服务器返回状态代码200” 经过一点点的调查,我意识到服务器无法在连接过程中将http协议切换到websocket协议。 我在C#代码中做了什么愚蠢的事情,或者服务器出了问题。 我没有任何访问服务器的权限,因为我使用的url是第三方url。 你能否就这个问题给我任何建议?

限制ASP.NET 4.5中WebSocket的性能因素?

MSDN文档似乎没有很好地覆盖HTML5 WebSockets协议的 ASP.net 4.5支持! 这就是我要找的东西: 服务器/应用程序/ cpu支持多少个活动连接? 是否有可以设置/获取的最大传入连接数? 无论通过套接字传输数据,每个应用程序的最佳套接字数是多少? 更新: 可以在Adobe Media Server应用程序服务器上很好地配置来自Flash RTMP套接字(websocket的替代方案)的请求。 对于应用程序或IIS 8配置中的ASP.net,请求数量,理想时间,块大小……是不是有任何forms的配置?

在C#中发送大于126字节的websockets更大的消息

现在我正在使用Websockets,我是新的,我最终可以发送一个126字节的消息,但我需要发送更长的消息但是当我尝试连接自动关闭时,我的代码是: public void sendMessage(Stream stream, string message) { try { List lb = new List(); string aux = message; bool flagStart = false; int size; while (message.Length > _maxLengthMessage) { lb = new List(); // I cut the mesasge in smaller pieces to send message = aux.Substring(0, _maxLengthMessage); aux = aux.Substring(_maxLengthMessage); if (!flagStart) { // […]

使用SignalR和IProgress接口的进度报告

我有一个Hub类,它有一个长时间运行的方法,我需要在它工作时显示一个进度条。 我读过这篇文章 ,我认为可以在异步方法中使用IProgress接口来发送长时间运行的操作状态。 我写了一个像这样的方法: public async Task GetServerTime(IProgress prog) { await Task.Run(() => { for (int i = 0; i < 10; i++) { prog.Report(i * 10); System.Threading.Thread.Sleep(200); } }); return DateTime.Now.ToString(); } 我尝试调用这样的方法: var appHub = $.connection.appHub; $.connection.hub.start(); appHub.server.getServerTime() .done(function (time) { alert(time); }); 但我不知道如何获得进度报告。

将WebSockets与ASP.NET Web API一起使用

在ASP.NET Web API应用程序中使用原始websockets的首选方法是什么? 我们想在ASP.NET Web API应用程序的几个接口上使用二进制 WebSockets。 我很难确定应该如何完成这项工作,因为.NET似乎存在多个在线冲突和/或过时的实现。 有些示例似乎是像这样的ASP.NET,但我认为必须有一种方法在Web API框架中使用websockets。 据我所知,您可以在WebAPI中使用Signalr。 我以为使用Microsoft.AspNet.SignalR.WebSockets.WebSocketHandler可以工作,但我不知道如何将WebSocketHandler链接到Controller … class MyServiceController : ApiController { [HttpGet] public HttpResponseMessage SwitchProtocols (string param) { HttpContext currentContext = HttpContext.Current; if (currentContext.IsWebSocketRequest || currentContext.IsWebSocketRequestUpgrading) { // several out-dated(?) examples would // use ‘new MySocketHandler’ for ??? var unknown = new ???? currentContext.AcceptWebSocketRequest(unknown); return Request.CreateResponse(HttpStatusCode.SwitchingProtocols); } } […]

如何(de)在WebSockets hybi 08+中构建数据框架?

自从Chrome更新到第14 版后 ,他们从草案的第3版升级到草稿的第8版 。 我有一个在WebSocket上运行的内部聊天应用程序,虽然我已经让新的握手正常工作,但数据框架显然也发生了变化。 我的WebSocket服务器基于Nugget 。 是否有人使用WebSocket处理草案的第8版,并举例说明如何构建通过线路发送的数据?