Jump to content

127.0.0.1 ile haberleşme


multimesut

Recommended Posts

Merhaba,

 

Bir projede kullanıcının 127.0.0.1 adresinde çalışan servis ile haberleşmem gerekiyor. Servis http ve udp protokollerini destekliyor. Ben projede idhttp veya idudp kullanamam çünkü haberleşeceğim adres 127.0.0.1. Bu durumda kullanabileceğim tek şey TUniURLFrame. Fakat TUniURLFrame ile statuscode alamıyorum. Yükleme başarılı oldumu içeriliği nedir diye almam gerekiyor.

 

Kısaca jQuery ile yapılan aşağıdaki kodu delphi ile yapmak istiyorum.

function lastmessage() {
    var result = null;
    $.ajax({
        url      : '127.0.0.1',
        type     : 'get',
        dataType : 'json',
        data     : JSON.stringify('{"data":{"actions": "lastmessage"}};'),
        beforeSend: function (xhr) {
            xhr.setRequestHeader ("Authorization", "Basic " + btoa('deneme:1234'));
        }
    })
    .done(function() {
        console.log('Server: Response Ok!');
    })
    .fail(function() {
        console.log("Server: Response Failed!");
    });
}
Link to comment
Share on other sites

idhttp 127.0.0.1 e bağlanmaya çalıştığında sunucu üzerindeki mi 127.0.0.1 e bağlanır. Yoksa web sayfasını açan kişinin bilgisayarındaki 127.0.0.1 e mi bağlanır? Çünkü servis web sayfasını açan kişinin bilgisayarında kurulu oluyor.

Link to comment
Share on other sites

UniURLFrame1 baktığımda sayfanın yüklendiğini ve sonucu VLC den görebiliyorum. Ama kod olarak 2 sorunum var.

 

1- UniURLFrame1.IsFinalLoading ile sayfa yüklendimi kontrol edemiyorum. Her zaman false dönüyor.

 

2- UniURLFrame1.HTML.Text ile sayfanın içini alamıyorum boş değer dönüyor.

UniURLFrame1.URL:='http://127.0.0.1:8787/bilgi?{"data":{"actions":"lastmessage"}}';
while UniURLFrame1.IsFinalLoading do Application.ProcessMessages;
UniMemo1.Text:=UniURLFrame1.HTML.Text;
Link to comment
Share on other sites

  • 2 weeks later...

Tam olarak kullanıcının 127.0.0.1 i ile haberleşmekti. Kullanıcının bilgisayarında yüklü bir uygulamayı tetiklemek için. Örneğin bir print server gibi. Bu durumda Websockets veya idHttp kullanamıyorsunuz. Çünkü bu kütüphaneler server üzerinde çalışıyor. Bende jQuery ve ajax üzerinden get-post yöntemi ile çözdüm. Şimdilik çalışıyor bir sorun yok gibi.

 

#Farshad Mohajeri , #sinanaydin Teşekkür ederim.

Link to comment
Share on other sites

  • 9 months later...

Tam olarak kullanıcının 127.0.0.1 i ile haberleşmekti. Kullanıcının bilgisayarında yüklü bir uygulamayı tetiklemek için. Örneğin bir print server gibi. Bu durumda Websockets veya idHttp kullanamıyorsunuz. Çünkü bu kütüphaneler server üzerinde çalışıyor. Bende jQuery ve ajax üzerinden get-post yöntemi ile çözdüm. Şimdilik çalışıyor bir sorun yok gibi.

 

#Farshad Mohajeri , #sinanaydin Teşekkür ederim.

Mesut Bey Merhaba Bahsettiğiniz Konu üzerinde Bende Biraz Kafa Yoruyorum, JQuery ile Olayı Çözdüğünüzü Yazmışsınız Örnek Bir Kod Paylaşabilirmisiniz ...

Link to comment
Share on other sites

Merhaba; Aşağıdaki gibi bir java ile çözdüm.

function SendAPI(id, message) {
    var result = null;
	//var obj = document.getElementById(id);
    $.ajax({
        url      : address,
        type     : 'get',
        dataType : 'json',
        data     : JSON.stringify(message),
        success: function(data){
			ajaxRequest(id, '_SendAPI', ['send=OK', 'actions='+data.data.actions, 'results='+data.data.results]);
            console.log(data.data.results);
        }
    })
    .done(function() {
        console.log('Send - OK');
    })
    .fail(function() {
        console.log("Send - ERR");
		ajaxRequest(id, '_SendAPI', ['send=ERR', '', '']);
    });
}
procedure TForm1.btnNum1Click(Sender: TObject);
begin
UniSession.AddJS('SendAPI(Form1.form, {"data":{"actions": "test"}});');
end;

procedure TForm1.UniFormAjaxEvent(Sender: TComponent; EventName: string;
  Params: TUniStrings);
var
  x, actions, results: String;
begin
  if EventName = '_SendAPI' then
  begin
  x := Params.Values['send'];
  end;
end;
  • Like 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...