Ben bir "Yangın ve unut" göndermek istiyorum

3 Cevap php

Ben çeşitli PHP uygulama & ediyorum ASP.NET web bir müşteri için apps.

Ben çok düşük havai kullanıcı izleme sistemi kurmak istiyorum. (Bu intranet üzerinde olmak zorundadır, bu sadece bir iç sistemdir).

Ben aşağıdaki gibi bir şey yapmak istiyorum:

line 1  normal code
line 2  normal code
line 3  Send Request/Query/Info to http://internal-IP/userTracker.php?Name=UserName&Page=...
line 4  Code that proceeds immediately after line 3 without waiting for a reply of any sort.

"Yangın ve unut" Burada iyi benzetme gibi görünüyor.

Herhangi bir ipucu?

Teşekkürler!

3 Cevap

Bu hemen hemen AJAX için bir ders kitabı durumda bulunuyor. Esasen, bu URL'ye bir rqeuest kapalı yangın ve kod yürütme normal olarak devam eder.

İşte jQuery bir örnek (eğer URL'ye göndermek istediğiniz varsayarak) bulunuyor. Diğer kütüphaneler değişebilir. Irade herhangi bir js lirbaries olmadan yapıyor gibi.

 //some code
 $.get("http://internal-IP/userTracker.php?Name=UserName", function() {
    //put something here if you want to verify the request worked.
 });
 //some more code

Tarayıcı "biraz daha kod" isteği üzerine engelleme olmadan yürütme devam edecektir kapatma isteği ateş ve olacaktır.

teori bir: Bunu önlemek bile sunucu kodu ile isteği yaparken rahatsız etmeyin. genellikle, insanlar sadece bulunuyor görünmez "izleme görüntüleri" kullanımı = "http://internal-IP/userTracker.php?Name=UserName&Page = ..." src ile etiketlemek. Bu web sunucusu doğrudan izleme sunucusu ile iletişim almaya çalışırken güvenlik baş ağrısı önler. etki alanlarının herhangi bir kombinasyonu üzerinde çalışıyor, çünkü o da ajax daha iyi. izleme görüntüleri veya ajax biriyle sorun sizin kullanıcıların doğrudan izleme sunucu vurmak istemiyorum ve would rather sadece ping sunucu-sunucu ...

teorisi iki: AJAX ve IMGS önlemek ve sunucu-sunucu başlangıçta önermek gibi sadece gitmek. Bu muhtemelen daha iyi bir öneri olduğunu. Eğer. NET'te bu yazı ve bir PHP sayfası kapalı yangın yaşıyorsunuz? eğer öyleyse, yukarıdaki. NET kod büyük çalışacaktır. Eğer yanıt umurumda değil olsa bile, ben hala istisna işleme ile bunun dışında cehennem sarın ediyorum.

O benim her şeyim var. :) Iyi şanslar!

Asp.net için, (belki de durumu 200 iade emin olmak için kontrol etmek istiyor?) Bir asychronous web isteği kullanmak ve sadece istek size geri geldiğinde hiçbir şey yapmaz bir kukla yöntemi olabilir.

Burada arkasındaki kodda bunu yapmak istiyorsa bir C # örnek, ama thedz tarafından yayınlanmıştır örnek ASP.NET ve PHP sayfaları ikisi için de çalışmak istiyorum.

void SendRequest(string uri)
{
    WebRequest request = HttpWebRequest.Create(uri);
    request.Method = "GET";
    request.BeginGetResponse(new AsyncCallback(ResponseReceived), null);
}
void ResponseReceived(IAsyncResult result)
{
    return;
}