Need your guide, please.
as shown in the diagram I have integrated Azure Signalr chat in my application through client-side scripts. it is causing slowness and crashing in the browser due to insufficient resources.
this only happens when signalr script is enabled and signalr connection is in use.
otherwise, the application is working fine.
We also have a separate chat application that works perfectly fine with a large number of users.
The issue is happening in the client application only when we are testing with 80 to 100 users. in reality there are thousands of users who will use signlar chat. I am worried about how this signalr will work.
Note: I have managed to limit single signalr connection for each user even in multiple tabs. but onclose event is called after few intervals so I have to call start function which is a normal thing. but cause of onclose event is not known. There is not internet glitch.
can somebody help me how to figure out the cause of onclose function and how I can manage to make signalr work without slowing the client application
There is only a slowness issue. no 400 or 500 error.
Thanks
Related
I've been creating a site that's meant to work on all browsers, and connects to a nodejs server through a proxy (meaning, the client connects to the server through a proxy) using websockets.
The site works fine on all browsers, but I've noticed some strange behavior on IE. The more the client browsed through the site, and as a result, opened more websockets, the slower the tab the client was browsing through became. Eventually, the tab would stop responding entirely and had to be shut down entirely because it'd stop responding.
I tried to whittle the problem down as much as I could, and eventually noticed that when your browser uses an explicit proxy, and has websockets, after a set amount of connections (around 25) the tab you're using will stop being able to connect to the server, and may stop working altogether. It's easy to reproduce this using the following steps:
Take the example page from here and create an html page
Download fiddler and use it as your proxy
Browse to the example page that you created and keep refreshing your tab. You should notice a slowness, until an eventual stop
It's worth noting that without a proxy, the tab will not end up dying like this.
Has anyone else encountered this issue? If so, is there any fix to this, aside from changing the architecture?
Thanks a lot
I've a web app on iphone developed with a firebase backend (JavaScript client v2.2.4)
When I open the app with airplane mode activated (no network) the app is loading fine, everything is cached with a cache.manifest
I can see in the safari's console that the firebase client is making calls to my firebase backend. Those calls are failing because I don't have any network.
the calls looks like this : /.lp?start=t&ser=17611300&cb=10&v=5
The issue:
If the user put the focus in a textarea, the focus is lost everytime the firebase calls are failing, which is very annoying for the user
Any idea how to avoid this behaviour?
The specificity of my use case:
I'm offline
The user put a focus in a textarea
Here is a workaround
I found that /.lp?start=t&ser=17611300&cb=10&v=5 is for long pooling connections
Websockets is enough for me, so I force the websocket only with the following code
Firebase.INTERNAL.forceWebSockets();
The problem vanished
I was thinking about how to architect my project. Im making a meteor webapplication for the normal browser, which will be a 'eventmanager'. which will be used to make events, that a seperate meteor app will then connect to via ddp, signup for the events etc.
So im obviously using DDP to connect the two apps but suddenly i was wondering where meteor places the serverside code in a mobile application, since this is a huge deal, a mobileapp has to work even when not on the internet, so i thouth that it would be logical that some of the serverside rendering was happening offline on the phone, and if thats not the case, well then i would have to seperate my app somehow, into something that renders with the localstorage data if not connected to the internet & i would have to sync the two applications databases + local storage.
Im thinking that the serverside code does run on the mobile phone, it just feels counterintuitive that each mobile phone has its own 'server'.
thanks for any help :)
Cordova is just a wrapper. It works just like any other browser. While it does provide API access to the hardware, the app itself is not native. It's a hybrid app platform.
The client side runs within the app container (Cordova) and communicates with the server portion over sockets.
I am building a cross-platform mobile app in HTML, CSS & Javascript and publishing it to Android and iOS using PhoneGap as a wrapper.
I have published in the Android Market, and am finding out through customer reviews that the app stalls early during the user setup phase, with some users/devices. I do not have any kind of error handling and reporting set up in the app, and the Android Market's crash report is still giving me 0 crashes after hundreds of downloads and half a dozen disappointed reviews.
I haven't thought about error reporting while building the app. Now that it exists, is there a simple way to implement it? I'm currently trying to intercept the window.onError event, but is that the right approach?
I've read about Acra http://code.google.com/p/acra/ but this seems to be Java error reporting. If Javascript fails on a missing function or non-existing object, will Acra report the details of that?
EDIT:
Since my app has internet access anyway, I implemented a listener for the javascript 'onerror' event, which provides a description of the error.
This listener uses Cordova/PhoneGap to detect if there is a connection: if there is, it sends the error description to the server along with the device. If there isn't, it attaches an event listener to Cordova/PhoneGap's 'online' event to send the error when the device goes online.
It's not running perfectly yet (which is why I'm not adding this as an official answer)
No, and believe me, it's a bad thing for a huge amount of us!
I am experiencing a problem with accessing an application from the Android-browser.
The application uses DWR to persist connections to the clients that are connected with it.
Everything works fine for me, except that if the application does not send any data to the client on the Android-phone for 2 minutes, the connection seems to be lost and no data arrive at the client. The same scenario works just fine on Firefox, Opera and Chrome. If the pause between two data transfers is less than 2 minutes, it works just fine.
So, now my question:
Is there some timeout setting for the android browser that I am missing? Or is this some built-in bug/feature/whatever that I cannot circumvent?
I know that I could prevent this from happening with some sort of heartbeat, I would just like to why this is happening.
Thanks in advance, Max
btw: Everything (server, clients) runs on my machine and I am testing this on the android emulator with Windows XP
Android emulator version 1.10 (build_id CUPCAKE-150240)
Could it be that the Android system is garbage collecting your activity and thus loosing your web browser and closing the persistent connection?
Perhaps you could check this by looking in you logcat (on android end) or webserver logs (on remote end)?
if this is the case, you would need to add reconnect code into the onresume/onstart method in android.