问题标签 [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.
xsockets.net - 在 XSockets.Net 4.0 中使用 PrincipalPermissions 属性
在 XSockets 控制器内部,我需要调用在其方法上具有 PrincipalPermissions 属性的 Api(Assembly),并且不知道它正在运行的主机(也可以在批处理、WebApi 控制器等中调用...)我了解 XScockets 在其自己的 ConnectionContext 对象及其自定义 Authorize 属性中存储身份/主体,控制器 OnAuthorization 方法使用该属性。
问题是是否可以使用具有主体权限的现有代码,因此它总是从调用者上下文中获得正确的角色。
我想到了两个选择:
1)在我的身份验证管道中切换线程主体,因此 ConnectionContext 和当前线程具有相同的主体:
2)在控制器的 OnAuthorization 覆盖中执行此操作:
第二种方法似乎适用于我的基本测试。实际上,当我这样做时,只需使用 [Authorize] 属性标记控制器类一次,然后我就可以在控制器方法上使用 PrincipalPermission 甚至我的一些自定义 CodeAccessSecurity 属性。
这样做安全吗?是否有一些异步行为会使其容易出错?有哪些替代方案?
c# - 如何让 XSockets 与 HTTPS 和 WSS 一起工作?
当我使用“ws://” URL 时,我的 XSockets.Net 代码运行良好,但是当我尝试实现安全版本时,我无法让它运行。
我使用以下 C# 示例代码作为指导:
我收到以下错误:
错误 2014/09/07-19:50:16 无法启动 XSockets 服务器。System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.Security.Cryptography.CryptographicException:系统找不到指定的文件。
在 System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) 在 System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(String fileName) 在 System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags) 在 System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName, String password) 在 NET.Server.MyCustomConfig2..ctor() 在 C:\MyProjects\NET.Server\Program.cs:第 369 行 - -- 内部异常堆栈跟踪结束 ---
它在我用评论标记的第 369 行出错。我不知道“file.name”应该是什么。如何获取 SSL 证书的“file.name”?我一直在使用我制作的自签名测试证书,但我不知道从哪里获得它的“file.name”我希望有一个我可以参考的可运行代码的实际示例,而不必查看通用的东西。
有没有人有一个有效的 XSockets WSS 实现的完整示例?我正在使用 XSockets.Net 3.0.6 版,谢谢。
c# - 将一系列图像作为视频呈现到网页上
我正在尝试将 H264 IP 摄像机/视频流的渲染合并到网页中。
我看过使用 XSockets 之类的东西并将网络摄像头的素材渲染到 Video 元素或画布上的教程,并且希望复制它,但使用从相机接收到的 byte[]。是否可以使用自定义流而不是本地设备?
我在网页上渲染静止图像(即单帧)没有问题,但希望能够实时显示图像(或当我们从存储中接收图像时),而不必刷新页面等来获取下一帧。
我目前通过将单个图像作为 base64 图像传递并使用 img 标签进行渲染来做到这一点。我该怎么做呢?这可能使用 XSockets 或 SignalR 等吗?
我正在使用 C#、.Net4.5 和 Asp.Net MVC5
xsockets.net - Xsockets 4.0 中的 XSocketController.SendTo 替换方法
我想要做的是用 4.0 重新创建该示例。
在 CustomBroker 和 ContextHelper 文件中的 WebRTCSample 中,称为方法 SentTo 女巫将对象作为 ITextArgs 发送
我知道在 4.0 中(安装到 OWIN (IIS) 中) ITextArgs 被 IMessage 替换,但我不知道如何替换 SendTo 方法,它的替换是什么?
另外,当我安装 4.0 版本时,它没有在项目中安装任何 Js 文件(XSockets.WebRTC.latest.js 等)可以从 Sample 中获取这些文件并在我的新项目中使用它们吗?
c# - XSockets InvokeToAll 内存异常
我正在使用 XSockets 将实时图像数据发送到任何连接的客户端。每个图像都相当大(最高 1080p 质量),视频最高可达 30fps。因此,有相当数量的数据被转移。每当我获得新图像时,我都会触发一个事件,并且当前将原始字节数组传递给客户端
我的 java 脚本处理程序当前是空的,甚至没有对接收到的数据做任何事情(我通过在接收到新图像时打印消息等来确保它可以工作)。
如果没有 InvokeToAll 代码,我的程序运行没有任何问题,并且我之前使用相同的代码渲染到 Winforms 没有任何问题。运行此代码几秒钟后,由于内存不足异常,它崩溃了。有什么我在这里遗漏的吗,imgData 从它发送的地方被清空(在将它发送到客户端之后)并且代码在 XSockets 之外工作没有任何问题。
websocket - 如何使 XSockets.WebSocket 在 HTTPS 上工作?
首先,如果其他帖子已经回答了这个问题,我想道歉。我是 WebSockets 和 WebRTC 的新手,这是我的场景。
我在 VS 2012 中创建了一个 MVC4 应用程序,并通过 nuget 包管理器控制台安装了一个示例 WebRTC 项目(按照此处的步骤操作:http: //xsockets.net/blog/tutorial-building-a-multivideo-chat-with-webrtc) .
这似乎在我的本地机器上运行良好。我在我们的 https 服务器上部署了代码(在 IIS6 上运行)并更改了连接字符串以处理 https 连接(代码如下:)
peerBroker = new XSockets.WebSocket("wss://mydomain.com:443/CustomBroker");
然后我点击 URL,我收到一条错误消息:WebSocket connection to 'wss://mydomain.com/CustomBroker' failed: Error during WebSocket handshake: Unexpected response code: 401
有人知道我在这里缺少什么吗?
c# - 通过 websocket 连接同步集合
我目前正在开发一个客户端-服务器系统,我正在尝试让一个集合在 websocket 上同步。一切都在 C# + .Net 4.5 中,我想知道是否有通过 websocket 同步数据的特定最佳实践。这是一种单向同步:
服务器:BindingCollection< MyClass > ----- Websocket -----> 客户端:BindingCollection< MyClass >
该集合最多可以包含 1000 个对象,每个对象有 20 个字段,因此每次发送全部对象似乎有点浪费。
c# - XSockets 与 .NET Compact Framework
我一直在尝试使用 XSockets.Client 4.0.0 为 .NET 3.5 建立一个新的智能设备项目(VS 2008),但是经过大量的试验和错误,仍然没有这样的运气。
问题是,如果我添加所有三个包依赖项(XSockets.Client35、Newtonsoft.Json 和 System.Threading),我会收到以下错误:
错误 1 类型“System.Func`2”在未引用的程序集中定义。您必须添加对程序集“System.Core,Version=3.5.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”的引用。
...我猜这意味着我的 System.Core Compact 缺少完整的 .NET System.Core 所具有的东西(这还不是很清楚,我很乐意得到更好的解释)。
如果我只是使用 XSockets.Client35 设置项目,我可以部署它,但是我的应用程序在启动时会冻结(我已经测试过,我只需要引用库就可以冻结它)。
所以,我的问题是:XSockets 是否与 .NET Compact Framework 兼容?如果没有,有没有办法从 PocketPC(使用 Windows Mobile 6)连接到任何 WebSocket 服务器?
微软对原始套接字连接有一些看法(http://msdn.microsoft.com/en-us/library/ms172494(v=vs.90).aspx),但它也适用于 websockets 吗?
感谢您的时间和关注。
websocket - XSockets。版本 3.06 使用 wss:// 获取 Net net::ERR_CONNECTION_REFUSED
我遇到了让 wss:// 在生产中使用 3.06 版的问题。
我已经能够让它在本地的测试环境中工作(见最后的测试环境设置)。
如果我使用 ws:// 而不是 wss://,则生产服务器可以工作
在生产中出现以下错误:net::ERR_CONNECTION_REFUSED
(注意:当我使用 ws:// 时,我已经将我的测试网站切换到 http:// 而不是 https://
生产环境:
- 2 个运行 Web 应用程序的独立 Web 服务器(负载平衡)
- 1 个运行 XSockets v3.06 的独立服务器(作为 Windows 服务)
- 所有服务器都在一个子域中:
一个。网络服务器:web1.acme.com b. Xsocket 服务器:commbus.acme.com
(注意:我这里没有显示真实域名(acme))
- 所有服务器都使用相同的通配符证书“cn=*.acme.com”</li>
- 所有服务器都在防火墙后面。
我尝试使用具有以下不同构造函数的 ConfigurationSettings 类:(注意:192.168.1.1 不是我们使用的真实内部 IP,但它是相似的)
1)我使用了这个选项,因为它在测试环境中工作
2)
3) 公共 SecureConfig() : base(new Uri("wss://commbus.acme.com:4502"), new Uri("wss://192.168.1.1:4502")) {
4)
5)
测试环境:
验证我可以设置 wss://。我已经能够进行以下测试:
1) 使用 HTTPS 在本地运行 IIS Express 2) 在控制台应用程序中运行 XSockets 代码
(注意:所有 XSockets 代码都在一个单独的库程序集中,并且在我的测试控制台应用程序和生产中都使用了相同的库程序集)
3) 对于测试,我使用了证书“cn=localhost”</p>
如果我在 ConfiguationSetting 类中使用以下内容,这工作正常:
我在测试站点上注意到的行为:
如果我对 ConfigurationSettings 类使用以下构造函数,我会在生产中遇到相同的错误:
或者
我不确定我错过了什么。
webrtc - 将 STUN 服务器集成到 XSockets.NET WebRTC
我对此很陌生。我将如何将 STUN 功能添加到我现有的 XSockets.NET WebRTC Javascript 代码中?
这个 JS 创建了我的连接。我在运行单声道的 linux 机器上单独运行信号服务器。
我怎么能继续添加 STUN 功能以确保 NAT 用户也可以连接,因为目前他们在连接时遇到问题。谢谢!