【发布时间】:2013-07-16 00:24:56
【问题描述】:
我正在使用 SignalR 2.0 测试版。在 Chrome、Firefox 和 IE10 中,我看到使用的传输始终是 longPolling。
http://localhost:8080/signalr/poll?transport=longPolling&connectionToken=123456
我正在从 Windows 服务运行集线器,并有 javascript 集线器代理作为客户端建立连接。
服务器端代码:
WebApp.Start<StartUp>("http://*:8080");
public class StartUp
{
public void Configuration(IAppBuilder app)
{
var config = new HubConfiguration { EnableCrossDomain = true };
app.MapHubs(config);
}
}
客户端代码:
function configureMessaging() {
var connectionMain = $.hubConnection('http://localhost:8080');
connectionMain.stateChanged(connectionStateChanged);
connectionMain.start({ waitForPageLoad: false, xdomain: false, jsonp: false });
var vmgrHub = connectionMain.createHubProxy("vmgrHub");
$("#broadcast").click(function () {
vmgrHub.invoke('globalMessage', $("#msg").val());
});
vmgrHub.on('addGlobalMessage', function (message) {
$("#message").text(message);
}); }
在生产中,应用程序需要跨域支持,但在提供的示例中,Windows 服务和 javascript 客户端位于本地主机上。
如何让 WebSockets 在支持它的浏览器中工作?
谢谢!
【问题讨论】:
-
您的应用程序是托管在 windows server 2012 还是 windows 8 上?
-
SignalR w/ Web Sockets 的可能重复项
-
Windows 服务在 Windows 2008 R2 中运行。这也是我的开发环境。
标签: c# websocket signalr long-polling