Autor | Zpráva | ||
---|---|---|---|
Citanek Profil * |
#1 · Zasláno: 10. 4. 2017, 13:11:45
Zdravím,
mám tento kod (function($){ function handleResponse(response){ $('#content').append('<div>' + response['msg'] + '</div>'); } var timestamp = 0; var url = './chat_backend.php'; var noerror = true; var ajax; function connect() { ajax = $.ajax(url, { type: 'get', data: { 'timestamp' : timestamp }, success: function(transport) { eval('var response = '+transport); timestamp = response['timestamp']; handleResponse(response); noerror = true; }, complete: function(transport) { (!noerror) && setTimeout(function(){ connect() }, 5000) || connect(); noerror = false; } }); } function doRequest(request) { $.ajax(url, { type: 'get', data: { 'msg' : request, 'id_uzivatele' : '1'} }); } $('#cometForm').live('submit', function(){ doRequest($('#zprava').val()); $('#zprava').val(''); return false; }); $(document).ready(function(){ connect(); }); })(jQuery); Problém je v tom, že při vetším počtu dotazů skočí do 503. Chtěl jsem to použít a udělat si z toho takový malý chat, bohužel se jaksi nemohu posunout z místa. Neměl by někdo nějaký nápad ? Díky |
||
Kajman Profil |
Můžete se podívat, co je v error logu serveru. Ale pokud je příliš zatížen (a backend dobře napsán), tak může být nejjednodušší koupit výkonnější hosting.
|
||
Chamurappi Profil |
#3 · Zasláno: 10. 4. 2017, 13:34:37
Reaguji na Citanka:
„ (!noerror) && setTimeout(function(){ connect() }, 5000) || connect(); “
Sice to máš maskované, ale pochopil jsem dobře, že se snažíš bombardovat server požadavky bez jakýchkoliv prodlev? To je dost sebevražedné. |
||
Citanek Profil * |
#4 · Zasláno: 10. 4. 2017, 13:44:36
No jde o to, že bych rád, když uživatel něco napíše, aby se to objevilo proti uživateli ihned...
|
||
Keeehi Profil |
#5 · Zasláno: 10. 4. 2017, 13:51:44
Citanek:
To je nám jasné, ale takhle se to dělat nedá. Nejlepší řešení pro tebe by asi bylo použít WebSockets. Pokud chceš zůstat u AJAXu, pak by mohl pomoct long pooling. Tím ale zase zabíráš procesy na serveru. |
||
Citanek Profil * |
#6 · Zasláno: 10. 4. 2017, 13:55:25
tak jsem koukal do logu a hodí to
[Mon Apr 10 13:51:30.247986 2017] [fcgid:warn] [pid 13655:tid 140198170052352] [id QXcWhp5nHAU] [client 176.74.128.54:55954] mod_fcgid: read data timeout in 310 seconds [Mon Apr 10 13:51:30.248026 2017] [core:error] [pid 13655:tid 140198170052352] [id QXcWhp5nHAU] [client 176.74.128.54:55954] End of script output before headers: chat_backend.php [Mon Apr 10 13:53:17.955661 2017] [fcgid:warn] [pid 13655:tid 140197991724800] [id uY4rm05kHAU] [client 176.74.128.54:58891] mod_fcgid: can't apply process slot for /data/web/virtuals/159909/php-wrapper-70 |
||
Časová prodleva: 7 let
|
0