|
I didn't think so, but then I found RabbitMQ Web STOMP Plugin — RabbitMQ[^].
I'm not sure how Rick wants to implement queueing in a browser, but with over 350,000 packages in the npm repository I'm sure there's one for connecting your queue to JavaScript
|
|
|
|
|
I'm always interested in talking about "WebSocket" technology.
I'm using Firebase in a project right now and I've created a firebase example you may find interesting.
Here is the most simple example where you can move a game pawn in your browser window and see it move (across the Internet) in the other person's browser.
pawns[^]
I also wrote up an article on SignalR, but unfortunately it is using a little older version of SignalR : Beginner's Guide to Using SignalR via ASP.NET[^]
Possible Way To Test?
You may like to open the browser on a few different devices and try it out to see if you see the same problems you are seeing in your app. If you see the problems it may be the firewall or network you are on.
Here's a direct link to the SignalR one you can try:
pawns[^]
It's a weird URL but that is because I wrote it a while back and the URL that it is coded up with is very important in the over all project. It's just anonymous link to my web site: raddev.us
You can test simply by moving a game pawn around and seeing it move in other browsers.
Open up a few browser windows and try it out and let me know.
|
|
|
|
|
Thanks, I tried your pawns application (years ago I think) and that worked ok. The problem with our implementation might be that we use the self-hosted version of SignalR and a mix of .NET and .NET Core applications.
Can't give more details because only my colleagues have full insight in this complex software.
|
|
|
|
|
RickZeeland wrote: Can't give more details because only my colleagues have full insight in this complex software.
I totally understand. My example is the most simple and basic thing possible, but when delving into real solutions things get complex fast. Wish I had more info to give you help but I know even with my simple example I ran into some real challenges.
Good luck.
|
|
|
|
|
|
Thanks I really appreciate that.
SignalR and WebSocket tech is really interesting, but SignalR can be quite confusing to work with -- challenges with auth and security, etc. and getting it to work when deployed.
|
|
|
|
|
It sounds to me like another MS com tool that requires a lot of configuration and is too easy to break: WCF. When it works it works great, but when it doesn't it's very stubborn about it!
|
|
|
|
|
I'm confused...SignalR is not a message queue...it's a communication link. You would usually use SignalR in conjunction with a message queue if you needed message queuing. The client would connect with SignalR, then the SignalR thread would queue the item in the message queue system and wait for a response to send back to the client. The important distinction here is that the SignalR thread keeps a connection with the client in order to notify. It can sort of be used like a message queue, but it's main characteristic is the continued connection to the client for notification and there is no queue. There can be performance implications in that each call to SignalR can launch an action concurrently and you can overload the server, but with a message queue, you can control how many threads or processes are servicing each queue and never have more concurrent processes than that. Then you can have as many SignalR threads waiting around for results to send back to the client.
|
|
|
|
|
Just a wild stab in the dark, but is Symantec Endpoint Protection involved in the equation?
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Good one, we'll check that !
|
|
|
|
|
What version of SignalR are you using, i.e. .net framework or .net core?
BTW, they never tell you that if SignalR is on a port, in production, it's likely the firewall will block you at most companies.
|
|
|
|
|
I know they are using self hosted .NET Core SignalR and maybe .NET too ...
Microsoft.AspNet.SignalR.Core.dll 2.2.6
modified 14-Jun-19 2:25am.
|
|
|
|
|
Having a right skill is knowledge. If you don't know, then don't blame/insult the tool. Rather try to acquire the knowledge.
|
|
|
|
|
But not all tools are created equal.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
did u enable trace log..
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
Yes, but we did not get any wiser, that is the most frustrating thing about SignalR: you don't have a clue what is going on
|
|
|
|
|
|
Are you using the .NET Full Framework or the .NET core? I only started with .NET core 2.1 and built distributed batch processing work queue and it's working fine and even has good performance, tested crossplatform and scaled on aws cloud without problems. I did experiment with large messages (10MB) but (de)serialization performance caused me to stick to small packets and strip of unnecessary data.
|
|
|
|
|
The problems are mainly with .NET Core SignalR. Large messages is not what SignalR is meant for, and we only use small messages.
|
|
|
|
|
|
Thanks for the tip, I will have a look at it !
|
|
|
|
|
As Sander Rossel and Scott Serl pointed out, SignalR's goal is not to be a message queue service.
The fact that you can use it as one does not mean you should.
Paulo Gomes
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
—Bill Gates
Everything should be made as simple as possible, but not simpler.
—Albert Einstein
|
|
|
|
|
I have found that disabling all the fallbacks and forcing SignalR to use websockets makes a huge difference. Also if you are using nginx there is a config setting that limits the number of connections to 300 that you need to bump up.
Also I am not sure in what capacity you are using SignalR, but you might want to check out the below library (disclaimer: I'm the author)
Entity Signal - Real Time Entity Framework (EF) and ASP.NET core[^]
|
|
|
|
|
Can anyone tell me who played Forrest Gump?
T.hanks
|
|
|
|
|
Tom Hanks
[edit]
DOH!
need more coffee....
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|