I am developing live chat using SignalR. It is great library. But i coped with one problem that I cant resolve for some time. So problem in when signalR made 8-10 connections at a time live chat doesn't work any more. Maybe it is b/c i run everything on local machine?
I thought maybe I made mistake somewhere. So I found simplest chat. You can download it here.
I opened it in 10 windows and it dont work anymore. Is that performance issue of signalR or programmers mistake? How can i make it work faster?
Also I found JabbR chat . And it has live demo and it works for a lot of people. They dont make anything special and it work greatly.
Can someone help with this issue?
Great thanks for any help,
Dima.
There are two problems you might have ran into:
- IIS/Cassini on Windows 7 has a default limit of 10 concurrent connections. Try running tests on Windows Server and see if it behaves the same.
- Try opening the connections in separate browser windows and/or separate browsers and/or machines, not tabs. I noticed that in 0.4 things can mess up when using tabs.
Found how to workaround:
Rewrite connectionId, so in every tab you'd have the same sonnection id:
public class MyConnectionFactory : IConnectionIdGenerator
{
public string GenerateConnectionId(IRequest request)
{
return MyUserManager.Instance.CurrentUserID.ToString();
}
}
Add to global.asax:
GlobalHost.DependencyResolver.Register(typeof(IConnectionIdGenerator), () => new MyConnectionFactory());
And I managed to open as mach tabs, as I could. And all tabs get notifications.
Hope, that helped.