我有一个应用程序,它可以在成员完成注册时将他们与各自的组联系起来。e、 g薪资人员-->薪资组,帮助台人员-->帮助台组。我想利用signalR来满足他们的通知要求,因此每当工资员工做了一些重要的事情,需要通知其他员工时,它就会发布一条消息,只有工资组内部的员工才会收到通知
员工不受限制,仅限于一个群体,但不限人数,具体取决于公司要求
我不确定该怎么做,但我能想到的是,当一名员工登录时,我的应用程序从数据库获取数据,可能是一组关联的组,并循环“订阅”他们所属的所有组,然后将来自db的组信息数据存
我相信这是一个令人困惑的标题
我有一个长期运行的Windows服务来处理世界上发生的事情。这项服务是我系统其他部分真理的标准来源。现在,我想在上面添加一个web界面,以便客户端可以看到实际发生的情况。起初,这只是一个带有一些Web API的MVC5应用程序。然后我计划使用Signalr2.0和Ember.js使这个应用程序更具交互性和“实时性”
客户端使用WCF通过命名管道与Windows服务通信。客户端(如web应用程序)可以请求例如IEventService的实例,将获得WCF代理客户端,并
标签: Signalr
load-balancingasp.net-web-api2long-running-processes
我正在构建一个平台,支持从IP连接设备记录数据。记录器使用专有API与连接的设备通信,并将数据转储到数据库。我正在使用ASP.NET Web API为每个记录器提供启动/停止功能
在独立服务器环境中,我只需创建一个全局变量,其中包含一个实时记录器列表。但这在负载平衡的环境中是行不通的。例如,用户a的post请求进入Web2,在Web2上创建一个新的记录器(在数据库中记录Web2有一个具有X id的活动记录器)。然后,用户B的删除请求进入Web 5。该请求需要与Web2对话才能真正关闭记录器
是否
如何解决此错误
版本
Microsoft.AspNet.signal.Core 2.2.0,structuremap 3.1.4.143
global.asax信号器依赖项解析
// SIGNALR DEPENDENCY RESOLVER
GlobalHost.DependencyResolver = new StructureMapSignalRDependencyResolver(Container ?? ObjectFactory.Container);
结构映射信号依赖
在mvc应用程序中安装SignalR包时,从位于另一个项目中的webapi向mvc应用程序广播SignalR的最佳实践是什么
MVC-本地主机:8080
API-localhost:8080/API位于不同的项目中
集线器-集线器的共享类库
问题是,如果我在MVC应用程序中安装signalr包,它就不起作用,但如果我在API应用程序中安装它,它就会起作用
有什么想法吗?您不需要共享集线器,如果您仅对广播公司使用集线器API,则集线器是必要的。您可以从MVC项目中删除它们的用法
此外,您不需要这两
我想开发网站(aspx页)使用信号技术。(不是MVC架构)
有谁能帮我弄清楚db和Signal的交互方式吗。(如编辑、更新、删除)
谢谢 信号器用于客户端和服务器之间的实时通信。至于与数据库的通信,这与任何其他asp.net应用程序没有什么不同
你可以利用SignalR让客户端调用服务器方法,然后服务器方法又与数据库通信,但出于安全考虑,我会厌倦这种方法。我搜索了很多,我发现了与使用SignalR的聊天应用程序和使用html页面的股票应用程序相同的结果。我想从aspx页面开始,而不是MVC架构。
我正在遵循Signalr Wiki中的集线器快速入门指南。我在Global.asax中得到一个错误,应用程序在RouteTable.Routes.MapHubs()行上启动
名为“Signal.hubs”的路由已在路由集合中。路由名称必须是唯一的。
参数名称:name
也许这在1.0.1中不再需要了?它在1.0中运行良好。NuGet的readme.txt中还提到,我们需要MapHubs命令
System.ArgumentException未被用户代码消息=路由处理
名为“signal.hubs”
我正在尝试使用SignalR构建浏览器windows应用程序通信的原型
目标很简单:我在每个客户端上运行一个托盘应用程序,该应用程序读取智能卡并生成一个值,该值应传递给web应用程序
我已经在托盘应用程序上构建了一个自我托管的SignalR hub,网页与它成功通信
问题是,在生产中,webapp是通过HTTPS交付的,signalR hub是通过经典HTTP交付的(例如http://localhost:8080)而且,正如所料,大多数现代浏览器都会发出混合内容警告,并拒绝与信号器通话
我的问题
我有一个服务应用程序,它的工作原理非常类似于信号机背板,因此我认为最好创建自己的IMessageBus实现来与后端对话,而不是推出自己的东西。问题是我找不到关于这份合同的很多信息。虽然我一直在看代码(看起来很不错),但我还是很难理解一些概念
public interface IMessageBus
{
Task Publish(Message message);
IDisposable Subscribe(ISubscriber subscriber, string cursor
我正在尝试复制.NET客户端与信号集线器的交互。我使用Fiddler捕捉了客户机的交互。协商通话顺利通过。但是当我尝试重播连接时呼叫,即
/signalr/connect?transport=serverSentEvents&clientProtocol=1.4&connectionToken=W%2BHgJKpBzSOoa3AG4uID8DtrJZeJs5a5Tvwk%2BXqwJl6hb0eJN9qtG5hEfOS8IYPiZSrKyEZRWbA9Go7cN5So36z4%2
我在一个ASP.NET5(ASP.NETVNEXT)网站上工作。我使用SignalR服务器(1.0 Beta 3)进行一些处理。它设置正确,因为我可以从Javascript浏览器客户端成功调用服务器方法
但是当我使用.NET客户端(.NET 4.5和SignalR 2.2.0)时,方法调用失败,出现一般性的“错误500”
我已经下载了SignalR服务器和客户端源代码,以便能够调试它们。我看到使用有效的“postData”参数调用了DefaultHttpClient.Post()client方法
标签: Signalr
android-serviceandroid-8.0-oreo
我在android应用程序中使用了一项服务,每10秒检查一次信号器连接状态,如果断开连接,尝试初始化信号器并使其连接
但在Android 8中增加了一些限制(),这会终止后台服务,而且我们不能调用startService方法从检测设备启动完成的BroadcastReceiver启动服务
对于所有Android版本,解决此问题的最佳解决方案是什么?没有任何依赖关系更好?您需要检查哪些状态?你读过KeepAlive软件包吗?您是否无法处理断开连接的事件?阅读更多:我检查连接状态以确保信号器已连接。事
标签: Signalr
asp.net-core-signalrvisual-studio-project
如何为企业应用程序构建信号器核心项目?
一个具有很多功能的应用程序,因此需要调用很多类和方法
不同地区的多个枢纽
只有一个中心可以分派到不同的类
如何安排项目文件夹
我在简单的教程中找不到任何可行的例子
有什么建议吗?我担心这个问题会被解决,因为这不是一个具体的问题,但我会提出我的建议
由于您将使用SignalR进行大量工作,并且需要解决不同的具体问题,因此我建议您创建一个.NET核心Web应用程序,以便使用SignalR将您的产品与此服务连接起来。你应该先读这篇文章
因此,您将有一个应用程
我对(JavaScript)集线器客户端的理解是,如果连接丢失,它将进入“重新连接…”阶段,尝试重新连接。如果不能这样做,它将进入“断开连接”状态,在被要求重新启动之前,它将一直保持该状态
在放弃之前,“重新连接…”阶段要持续多久?我以前读过40秒,但我的客户似乎花的时间少了很多——大约10秒,也许更少。[编辑:别提这部分,我在服务器上配置了10个断开连接作为测试…但忘记了。我知道这是由服务器在协商过程中设置的。有道理!]。。。我更喜欢让客户端不断地重试,直到它被告知中止-这可以做到吗,它会导致
我第一次在asp.net c#web应用程序中使用SignalR
我正在为我的客户端网页使用HTML5和JavaScript
本质上,每当我的服务器有一个映像要“推送”到我的客户端时,它就会这样做。有时这种情况可能相当频繁
现在,我想在“繁忙”期间,我的客户机可能会被我的服务器推送的数据“打乱”
我的服务器如何知道我的客户端已收到(或未收到)消息,然后继续发送下一条消息?Signal不提供内置方式来等待客户端接收消息。这在一般情况下很难做到,因为有人可能正在使用客户端。所有,并且在发送消息时客户
我在不同的负载平衡器中遇到了一个奇怪的问题(我试过弹性负载平衡器和HAProxy)
我的设置如下:
C#客户端->HAProxy-->(信号机主机1或信号机主机2)
HAProxy配置为与Cookie循环,以确保会话粘性
平衡循环法
cookie服务器ID插入间接nocache
当我在代理后面有一个信号器主机时(使用长轮询或服务器发送事件),一切正常。我可以连接、调用方法和处理回调
一旦我添加了第二个信号服务器,事情就开始变得糟糕起来。我可以连接良好,连接正确,负载平衡。我可以发送消息,它们会正
标签: Signalr
signalr-hubsignalr.client
等待组上的任务取消问题。添加(groupId,Context.ConnectionId);Win8上的WebSocket仍然存在。
如果此请求超过30秒,如何增加信号器超时
任务已取消。mscorlibStackTrace:---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAn
调用集线器方法时,我得到帧响应:
{“invocationId”:“1”,“type”:3,“error”:“更新时出错。”
条目。有关详细信息,请参见内部异常。“}
如何获得详细的错误报告(发生错误的行和文件),而无需手动调试和使用单步执行并检查代码引发异常的位置
在网上,我找到了大量使用EnableDetailedErrors的代码
services.AddSignalR(options =>
{
options.Hubs.EnableDeta
您好,我正在开发一个与Signal通信的服务器客户端应用程序。我必须实现的是一种机制,它允许我的服务器调用客户机上的方法并获得该调用的结果。这两个应用程序都是用.Net内核开发的
我的概念是,服务器在客户机上调用一个方法,提供该调用的Id,客户机执行该方法,作为响应,使用方法结果和提供的Id在服务器上调用该方法,以便服务器可以将调用与结果相匹配
用法如下所示:
var invocationResult = await Clients
.Client(connectionId)
我正在使用SignalR为我的网站在Win2003和IIS6上运行构建简单的聊天。
此功能部署几分钟后,IIS6自动禁用所有服务
系统恐慌。。。?
我使用的版本是signar0.3。
此情况的详细日志文件:
活动编号:3006
事件消息:发生分析器错误。
活动时间:2012年5月30日下午3:22:47
事件时间(UTC):2012年5月30日上午8:22:47
事件ID:fa5b58f6de4f4de2a07d915049cb7e89
事件顺序:5
事件发生率:1
事件详细信息代码:0
申请
我最近使用signar(self-host)创建了一个概念验证控制台应用程序。它对我们有用。客户端连接良好,我能够从服务器向客户端发送更新。可爱
我现在已经将代码从控制台应用程序转移到winforms应用程序,以获得更漂亮的UI。现在,同一个客户机不会连接到服务器,但它仍然会连接到旧的控制台版本
Winforms代码:
string url = "http://localhost:8080";
using (WebApp.Start(url))
{
标签: Signalr
signalr-hubsignalr.client
5-10分钟后,对/signal/hubs的检索变得非常慢,我不得不一次又一次地重新启动应用程序池。有没有办法缓存这个
我所做的-
已检查应用程序池的所有内存和cpu分配,但无法
找到任何东西
在谷歌上搜索,但没有找到任何相关内容
您可以尝试将这个jquery函数放在您的视图页面中
var tryingToReconnect = false;
$.connection.hub.reconnecting(function() {
tryingToReconnect = true;
});
在旧的信号器中,您可以这样做以在服务器的集线器中获取传输:
Context.QueryString["transport"];
但是在为AspNet核心编写的新信号器中,我找不到在服务器的集线器中可以找到传输协议的位置。能找到它吗?如果是,在哪里?自ASP.NET Core Signal1.0.0-rc1-final()起,您可以从以下位置获取传输类型:
//使用Microsoft.AspNetCore.Http.Connections.Features;
var transportType=
标签: Signalr
signalr-hubsignalr.client
我在我的项目中实现了signer。但我在发送私人信息时遇到问题。我正在从第页发送“toConnectionID”
ChatHub.cs
public void LoadPrivateMessages(string toUserName,string toConnectionID)
{
var chatHub = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
标签: Signalr
signalr-hubsignalr.clientasp.net-core-signalr
我正在使用来自的@aspnet/signalr官方Javascript客户端
我想知道是否有办法将头配置添加到客户端连接头
如何建立连接
let connection=new signal.HubConnectionBuilder()
.withUrl(
"https://some.signalr-host.com"
)
.build();
完成一些研究后更新
似乎signarjs/ts客户端库无论如何都不支持添加自定义头
因此,我们的解决方案是通过查询字符串发送参数,并使服务器API支持它
当我访问部署在IIS 6/winSrv 2003 r2上的web应用程序上的信号器/集线器url时,出现错误404
我尝试了runAllManagedModulesForAllRequests=true和false。然而,我在其中一个#问题中发现一条评论说,这是针对II7和>
此外,我还将通配符映射设置为v4.0.30319\aspnet_isapi.dll,但仍然得到相同的错误404
IIS 6日志错误:
W3SVC1 127.0.0.1 GET/devweb/Signal/hubs-80-1
我有以下JS代码
var chat = $.connection.MyHub;
chat.client.initChart = function (data) {
... do stuff ...
}
这个中心代码是什么
public class MyHub : Hub
{
public override Task OnConnected()
{
using (var conn = new SqlConnection(ConnectionString)
标签: Signalr
signalr-hubsignalr.client
我有一个MVC网站,位于一些相当大的业务对象上。我的MVC控制器调用管理器对象,管理器对象将工作转移并委托给其他对象集
基本上,代码是深层服务器端,而集线器在某种程度上就像控制器,因为它非常接近客户端
有没有一种方法可以基于对传递给这些管理器对象的中心的引用来执行SignalR方法?如果MVC和SignalR服务在同一进程上运行,则可以调用GlobalHost.ConnectionManager.GetHubContext(“MyHub”)
如果它们在不同的进程上,那么您需要在MVC应用程序中创
我正在使用信号R处理聊天应用程序
我想知道什么时候在signal r中使用多个集线器,优势是什么,使用多个集线器,还是使用单个集线器是一个好方法?如果它与现有集线器的用途不同,您应该创建一个不同的集线器。您应该遵循在OOP中通常采用的方法-即,类应该表示一个逻辑单元。您打开的每个新集线器/连接都将保持与服务器的实时连接。每个人都在消耗网络和处理资源。这对于移动设备来说很重要,可以防止电池耗尽。
只要可能,我会保留一个中心。服务器上的单个集线器可以从代码的不同逻辑部分或层使用。
多个集线器与其他集
假设我的网络连接中断了几秒钟,我错过了一些信号服务器推送的消息
当我恢复网络连接时,我错过的消息是否丢失了?或者当我重新连接时,信号员会处理它们并将它们推出吗
如果它不能处理丢失的消息,那么建议采用什么方法来确保一致性
是否定期(2-3分钟)轮询以检查服务器数据
以某种方式检测客户端的网络丢失,并执行ajax调用以获取网络恢复数据
还有别的吗
以下是一些想法:
如果您每秒不发送大量消息,请考虑在消息本身中不发送数据。相反,该消息只是对客户机的一个“ping”,告诉他们在可能的时候去获取服务器数
是否可以编写WebSocket(SignalR)客户端,而不必将其嵌入IIS(或其他ASP.NET web服务器)上托管的ASP.NET应用程序
例如,如果我有一个带有自定义集线器的自托管SignalR服务器,是否可以(如果可以,如何)从“纯”Javascript web客户端调用它
在这种情况下,我们在~/signar/hubs/文件夹中没有运行时生成的“魔术”脚本的部分。您不需要asp.net应用程序,signar才能工作。您可以创建一个通用html页面,并且仍然可以与信号服务器通信。您甚至
已经开始使用信号器。想澄清一些关于Signal是如何实现广播的问题,基本上服务器是如何启动通信的
1> 在正常情况下,每当我们请求一个let say.aspx页面时,服务器就会呈现该页面并将响应返回给客户端,事情就完成了
但是,如果ASP.net站点上提供了Ticker演示,Signaler如何能够在后台/异步模式下继续执行
我在谷歌上搜索了一下,发现IRegisteredObject是需要不断执行的对象需要向HostingEnvironment注册的一种方式,但为此类必须实现IRegister
我是webRTC的新手,如果可能的话,他们的一些东西是我没有得到的。我想知道这些问题的答案,我想这将是一个很好的参考,以供网络上所有其他人参考
webRTC服务器代码留给开发人员处理它的工作是什么?我的意思是他们有很多使用websocket和socket.io的信令方法,但是他们向服务器发送了什么呢
我在五月的学习路径中看到一些github源代码提供了这些“id”,我想知道服务器代码是否提供了这些id,这是什么工作
我不知道如何在real base场景中共享视频配置。。有具体的例子说明吗
我想知
标签: Signalr
signalr-hubsignalr.client
在我看到的许多例子中,比如StockTicker应用程序,假设所有客户都对所有股票价格的更新感兴趣
我试图确定一个最佳实践,当客户端只关心更新的子集时
我可否:
向所有客户端广播所有更新,并让客户端确定
客户端方法中的“如果他们在乎”
向每个客户端连接注册“项目”
“兴趣”,并在某处维护客户端连接表,
以迭代方式向所有表示
兴趣
为每个股票创建一个信号器组(例如),并且
将客户登记到每个特定的“感兴趣”股票组,并
在更新相关组时,仅向特定组广播
股票
我还错过了一些东西
为了减少这个问题的主观性
用户在我的中心为空,我不知道为什么
启动:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
AuthenticationMode = AuthenticationMode.Passive,
我正在尝试使用linqpad来自托管信号器
剧本
但是,在控制台应用程序中,同样的代码可以正常工作
问题:
有人知道为什么这段代码在linqpad中托管时失败,但在控制台应用程序中托管时有效吗?我倾向于某种连接问题,而不是linqpad问题,因为我能够运行您的代码,而不会出现问题。我还在版本5下运行它。你有3r方防火墙吗
只是想确认一下,预期的行为是什么?当我运行它时,我的浏览器会弹出,要求我输入一个名称。然后我就可以发送“消息”,出现在文本框下方的页面上。我倾向于某种连接问题,而不是LinqP
我有angular服务,当用户连接或断开与我的应用程序的连接时,我从服务器调用这些方法
(function () {
//'use strict';
app.service('PrivateChatService', ['$rootScope', '$location', function PrivateChatService($rootScope, $location){
var online_users = [];
var proxy = $.connection.chatH
标签: Signalr
azure-redis-cachesignalr-backplaneasp.net-core-signalr
我有一个单页Azure Web应用程序,它使用SignalrMicrosoft.AspNetCore.SignalR Version=1.0.0-alpha1-final向连接的客户端广播事件登录、注销、部门创建等
我还在峰值时间将应用程序扩展到多个实例,并使用Redis缓存背板Microsoft.AspNetCore.signal.Redis Version=1.0.0-alpha2-final将事件广播消息分发到所有连接的客户端
我使用角度前端@aspnet/signalr客户端:^1.0.
我最近一直在搜索和阅读SignalR,虽然我看到了很多关于集线器和持久连接之间区别的解释,但我一直无法了解下一个层次,这就是为什么我会选择一种方法而不是另一种方法?从我在中看到的情况来看,集线器似乎提供了一个覆盖较低级别持久连接的主题系统
下面是投票率较高的评论:
部分正确。您还可以在持久连接中获取主题或组。最大的区别在于发送不同类型的消息。例如,您有不同类型的消息,并且希望发送不同类型的有效负载。对于持久连接,您必须在有效负载中嵌入消息类型(请参见原始示例),但集线器使您能够通过连接执行RPC
我想在我的web应用程序中支持实时更新功能,我发现Signaler很棒。这很简单,也很有趣。但在部署到生产服务器时,这让我陷入了停顿
目前,我们的web应用程序在两个web服务器(IIS)上运行,负载平衡。所以,为了让信号员站起来,我们必须支持服务总线
有了Redis,我看不到任何可以投入生产的Windows实现。由于某些公司政策,我们无法使用Windows Azure。
通过新的Windows Server服务总线,我了解到它只支持一个包含1或3台服务器的服务器场
那么,有什么可供我选择的选项
有许多文章展示了如何使用类似signar的工具来处理自己的高级连接
所有这些解决方案都依赖于OnDisconnect事件:
public override Task OnDisconnected()
{
SignalRConnectionManager.RemoveConnection(Context.ConnectionId);
return base.OnDisconnected();
}
只要您可以依赖OnDisconnected事件,这就可以工作。如果应用程序崩溃/重新
到目前为止,我一直在构建一个完全由ASP.NETWebAPI调用组成的web服务。我现在需要将信号器添加到混合中,但我想知道如何保持安全方面的一致性
我目前正在使用OAuth承载令牌(带有OWIN身份验证),因此我的客户机基本上会有一个access_令牌,我通常只需将它添加到任何web API调用的头中即可。但是,如何对Signal执行相同(或类似)操作?我是在创建连接时还是在每次呼叫时进行身份验证?最重要的是,我首先应该如何指定访问令牌
谢谢。我已经编写了一个示例,它帮助了一些已经使用信号器身
我无法使用singalr运行聊天应用程序,我面临owin问题
尝试加载应用程序时发生以下错误:
未找到包含OwinStartupAttribute的程序集。
在类“Microsoft.VisualStudio.Web.PageInspector.Runtime.Startup、Microsoft.VisualStudio.Web.PageInspector.Runtime、版本=1.0.0.0、区域性=中性、PublicKeyToken=b03f5f7f11d50a3a”中未找到任何“配置”方
标签: Signalr
signalr-hubsignalr.client
我正在迁移到.NET 4.5和Sigalr 2 .x,并遇到了一些围绕OWIN DLL的问题/困惑。我通过Nuget安装了最新版本的Signal r,包括:
安装软件包Microsoft.AspNet.signal
我按照迁移中的描述添加了Startup类。但是,IAppBuilder开始出现未解决的问题
我检查了StackOverflow,规定的解决方案是运行:
更新软件包Owin-重新安装
我这样做了,错误就消失了
但是,应用程序返回到包含对Owin 1.0的引用
我有点困惑。这与最新的/最
我需要在DNN中创建聊天功能(与linkedIn消息相同)。如何在DNN(C#)中做到这一点?不支持,微软用来解释信号器用法的示例如下
聊天也是许多人的共同目标。这里有一篇博文
旧文章,但仍然应该是相关的
我的Xamarin Forms Android应用程序将无法连接到我的Signal服务器
我在IIS中有一个网站,它有一个简单的SignalR聊天中心,我可以通过Javascript客户端、控制台应用程序和WPF应用程序连接到该中心,但这个Xamarin Forms Android应用程序没有连接。Xamarin表单项目添加了Microsoft.AspNetCore.signar.Client v3.1.4包
以下是我如何构建HUB连接:
hubConnection = new HubConne
我有一个中心,它接收文件,保存到私有静态属性中,然后将文件发送回调用方用户
public class TestHub : Hub
{
private static string _file;
public async Task SendAudio(IAsyncEnumerable<string> stream)
{
var enumerator = stream.GetAsyncEnumera
当尝试为某些用户连接时,信号器给我404。URL相同,但access_标记除外
它是稳定的,每个用户都可以复制(我的意思是有些用户是稳定的OK,有些用户是稳定的404)
access_令牌解析的jwt diff(左侧为OK用户,右侧为404):
我对日志进行了跟踪级别,并进行了下一步:
对于OK用户:
对于获得404的用户:
注意:黑色方框下的URL是相同的
前端是Angular 9,软件包为“^3.1.8””@microsoft/signal,下面是构建连接的代码:
privat
我有一个servicestack服务器应用程序,它只处理api调用(rest)。
我正在尝试实现我发现的功能
要调用我的api,我使用url…/api/getthis,它工作得很好
我添加了IncomingHubAttribute和outgoinghubattributes,并用它们装饰我的方法,这些方法被调用,一切都很好
我可以浏览到localhost:1234/signal/hubs并看到生成的js,但当我浏览到localhost:1234/log.html时,我会看到文章中描述的内容
*未
我从SignalR客户端应用程序得到一个异常(在Microsoft.AspNetCore.SignalR.Protocols.Json.dll中抛出异常:“System.IO.InvalidDataException”)。
当信号集线器向客户端未配置为侦听的通道发送消息时,会发生这种情况。我想要的功能如下所述:
Signalr服务器集线器将消息发送到“Test1”、“Test2”、“Test3”等通道中。
SingalR客户端只希望接收Test1通道的消息,因为特定的用户屏幕/页面仅与Test1
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 24 页