问题标签 [xsockets.net]

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 投票
2 回答
684 浏览

xsockets.net - XSockets.DevServer.DebugInstance() 中的 NullReferenceException

我在玩 XSockets.NET,我花了太多时间调试应该是一个简单的问题。我正在使用 XSockets 附带的标准模板,它创建了一个名为 XSockets.DevServer 的项目,并在该项目中创建了一个名为 DebugInstance 的类。当我在我的 Web 项目中托管这个 DebugInstance 类时,一切似乎都按预期工作。但是,当我尝试在 XSockets.Debug.Console 项目中托管它时,或者当我尝试让它在我的生产 IIS 实例上运行时,我在下面的代码中得到一个 NullReferenceException:

很明显,问题发生在 中this.ComposeMe(),但没有故障排除信息,而且由于 XSockets 显然不是开源的,所以我无法通过代码来找出问题所在。

编辑:要清楚,我知道 NullReferenceException 是什么。wss在这种情况下,它的直接原因是 null的事实。我想知道的是它的近因,即为什么ComposeMe()不分配它,即使这显然是它应该做的。显然,XSockets 用来支持其插件架构的本土 IOC 应该找到 的实例IXBaseServerContainer,但显然不是——我不知道为什么。而且没有来源,我什至不确定候选人IXBaseServerContainer是什么。

编辑 2012-11-06:这是我的 app.config 的 appSettings 元素的样子:

$(ProjectDir)\XSockets\XSocketServerPlugins\和我的$(TargetDir)\XSockets\XSocketServerPlugins\文件夹中都有下面提到的所有文件,例如:

有什么想法吗?

0 投票
1 回答
4019 浏览

signalr - 使用 SignalR 作为 WebRTC 的服务层

这是我提出的另一个问题的后续,但提供了更准确的信息。

我有两个基本相同的网页来演示 WebRTC,一个使用 XSockets 作为后端信号层,一个使用 SignalR 作为后端信号层。

这两个后端基本上是相同的,不同之处仅在于它们(显然)具有不同的方式将数据发送到客户端。同样,两个客户端上的 TypeScript/JavaScript WebRTC 代码完全相同,因为我已经抽象出信号层。

问题是 XSockets 站点始终如一地工作,而 SignalR 站点却失败了(大部分一致,但不完全)。通常调用时会失败peerConnection.setLocalDescription(),但也可以静默失败;或者它(有时)甚至可以工作。

您可以在这里看到两个不同的页面在运行:

XSockets 站点:http: //xsockets.demo.alanta.com/

SignalR 网站:http ://signalr.demo.alanta.com/

两者的源代码都在https://bitbucket.org/smithkl42/xsockets.webrtc,XSockets版本在分支上xsockets,SignalR 版本在signalr分支上。

所以我的问题是:有人知道为什么使用一个信号层而不是另一个信号层会对 WebRTC 产生任何影响吗?例如,是否其中一个或另一个发回 Unicode 字符串而不是 ANSI?还是我误诊了问题,真正的区别在其他地方?

0 投票
2 回答
431 浏览

.net-4.0 - XSockets.NET windows 服务无法启动

我无法让 xsockets.net Windows 服务工作。目前,我正在使用这个来源,因为我找不到更好的来源

  • 该解决方案内置于VS2012Express版中,
  • 使用 .NET v4 框架 InstallUtil.exe 安装它
  • 当试图在 Windows 服务对话中启动服务时,它会给出一个对话:"The XSockets.NET service on Local Computer started and then stopped." The Windows event viewer just lists: "The XSockets.NET service entered the stopped state."

我都是 .NET 和 C# 的新手,只是试图让 websockets 工作并且在这个问题上有点疯狂:-)

任何帮助表示赞赏。

0 投票
3 回答
2835 浏览

asp.net - ASP.NET MVC 和 IIS - 序列不包含匹配元素

我有一个用 ASP.NET MVC 编写的 Web 应用程序。一切都很好,在 Visual Studio 应用程序中工作得很好,但是一旦我把它放在 IIS 服务器上,它就会给我这个错误: Sequence contains no matching element.

这是它给我的堆栈跟踪:

[InvalidOperationException:序列不包含匹配元素]
System.Linq.Enumerable.Single(IEnumerable 1 source, Func2 predicate) +4134530 XSockets.Plugin.Framework.Helpers.PluginHelpers.GetInstance(ImportedType importsType) +143 XSockets.Plugin.Framework.Composable.Compose( T obj) +656 XSocketsServer..ctor() +170
Scyk.MvcApplication.Application_Start() +173

[HttpException (0x80004005): 序列不包含匹配元素]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +12864673
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +175
System .Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
+304 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +404
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr应用上下文)+475

[HttpException (0x80004005): 序列不包含匹配元素]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12881540 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext上下文)+12722601

有人能帮我一下吗?我不知道出了什么问题,尤其是当视觉工作室一切正常时...

编辑:我的 App_Start():

我在那里启动 xsockets 服务器,但无论如何,如果我注释掉这个 XSocketsServer,它仍然会给我同样的错误。

0 投票
1 回答
1292 浏览

asp.net-mvc-3 - XSocket 在 localhost 上运行良好,但在 Intranet 环境下却不行

我有一个使用 XSocket 的 asp.net mvc3 web 应用程序,它在本地运行良好,但它不在我的 Intranet 上。

我已经配置了 xsockets windows 服务并且运行良好。我已经将我的“插件”(DLL 和依赖项)复制到了正确的目录中并且运行良好。

问题是当我尝试通过 Intranet 访问应用程序时,连接总是显示已关闭。

我需要指向特定的 IP 地址/服务器名称吗?

我的 javascript 代码在 localhost 中运行良好:

先感谢您。

0 投票
1 回答
5611 浏览

websocket - xsockets.net(.NET WebSocket 服务器)如​​何在 Windows 2008 上运行?

我正在比较 WebSocket 服务器

  1. xsockets.net
  2. 超级WebSocket
  3. 斑点
  4. 信号R

SignalR仅在 Server 2012 上可用,但我的服务器运行的是 Windows 2008。

SuperWebSocket & Fleck,它们只支持 flash-proxy 回退。

xsockets.net,这个在旧版 Web 浏览器中具有长池后备支持。但它说后备只适用于 MVC3/4 项目。它可以在 MVC3/4 应用程序中打开一个端口来接受支持 websocket 的客户端的连接吗?在 Windows 2008 上对我来说似乎是不可能的。

我有一个问题,那就是:XSockets.NET 如何在 Windows 2008 中运行?

如您所知,直到 IIS8.0 才在 http.sys 中添加 WebSocket 功能。在 IIS7.5 中,SignalR 始终为所有客户端以长池模式运行。

XSockets.NET 也一样吗?因为据说只有 MVC3/4 项目才支持长池回退。如果我想利用回退支持,我必须在最终由 IIS 托管的 MVC3/4 中使用 XSockets.NET。而且IIS7.5没有websocket的特性,这就是我怕的

有谁知道它在托管 MVC 应用程序的 IIS7.5 中是如何工作的?通过长池处理所有客户端?

0 投票
1 回答
2814 浏览

jquery - 如何启动并运行简单的 XSocket.Net 示例

尝试按照有关如何设置简单示例应用程序的教程进行操作。但是在运行示例时出现错误:

WebSocket 连接到“ws://127.0.0.1:41589/Generic”失败:意外响应代码:404

不确定这是我的项目还是失败的 chrome。

创建了一个项目: 创建新项目对话框

在 Nuget 中运行:Install-Package XSockets

并添加了一个带有以下代码的html文件:

但是当使用 Ctrl + Shift + j 在 Chrome 中观看控制台时,它会给出以下消息: Chrome 中的错误消息

Web 项目设置为: 项目设置中的 web 选项卡

0 投票
1 回答
108 浏览

c# - 我的部分项目开始使用不正确的连接字符串 - 我该如何解决?

我有一个解决方案,其中包含一个项目。这个项目是一个带有 xsockets.net websocket 服务器的 asp.net mvc web 应用程序(所有东西都合并在单个项目中)。

一切都工作了几个月,直到今天。今天我决定更新实体框架和 xsockets.net。途中几乎没有错误,但我几乎解决了所有错误……几乎。

好吧,我的项目中运行 websocket 服务器的部分没有使用正确的连接字符串。我的意思是,我可以登录到我的 Web 应用程序并在它周围移动(因此 asp.net mvc 使用正确的连接字符串),但我的 websocket 服务器(使用相同的数据库)无法从数据库中收集任何数据,因为它正在抛出不正确的连接字符串异常。

而且由于一切都在一个项目中,只有一个 web.config 文件,我不知道下一步该做什么。我不相信这是与 websocket 相关的错误,也许实体框架更新改变了一些东西?无论如何,有没有办法在类中显式使用连接字符串?我还能做些什么来解决这个问题?

0 投票
1 回答
376 浏览

xsockets.net - 连接到自定义 XSockets 控制器失败

我已经对此进行了大量研究,但无法弄清楚出了什么问题。官方文档(服务器 API 和插件)在这里对我没有多大帮助。

我的解决方案如下所示:

  • XSocketsControllers
    • 定义长时间运行的控制器 A 和标准控制器 B
  • WebServer(参考 XSocketsControllers)

由于文档说 XSockets 将在 bin (正在复制程序集的位置)下自行发现任何感兴趣的内容,因此我的 Web.Config 具有以下内容:

我的引导程序运行正常,如果我调试服务器容器,我可以看到我的 IXBaseServerContainer 的 XSocketPlugins 属性包含我的控制器 A 和 B,但是如果我尝试从浏览器连接到控制器 B,例如,连接已建立但框架说“在加载的插件中找不到处理程序名称”。如果我连接到“通用”控制器,那么它工作正常。

我在这里想念什么?

此外,控制器发现如何工作?我玩过 XSockets.Sample.StockTicker 示例,注意到“/Stock”被击中,但没有确切名称的控制器 - 有一个 StockController 和一个 StockTickerController 类。

0 投票
1 回答
107 浏览

xsockets.net - 无需摄像头即可访问流

是否只能在不访问我的相机/麦克风的情况下观看远程流?想象一下,我只想看奥巴马和罗姆尼之间的辩论。