Msn bu işi nasıl yapıyor?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 12:45
Konum: Giresun/Samsun

Msn bu işi nasıl yapıyor?

Mesaj gönderen Arifceylan28 » 22 Nis 2005 10:48

Merhaba.
İndy ile yaptığım bir programda karşı tarafa bağlanabilmem için adsl modemden Virtual server ayarları yapıp çıkış portunu ayarlamam gerekiyor.
yine sürekli bağlanabilmem için karşı tarafın static ip numarasının olması gerekiyor.
Fakat msn messenger ve benzeri uygulamalarda bunu yapmaya gerek yok.
Msn bu işi nasıl yapıyor?
Bunu delphide yapmak için kod , örnek vs biliyorsanız bekliyorum.
Şimdiden teşekkürler

fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman » 22 Nis 2005 11:14

Önce Client ve Server kavramlarını tanıyalım.

MSN Messenger bir client'tır. MSN sunucusu ile belirli bir porttan bağlantı kurar. MSN'ye bağlantı isteği yaptığında ADSL'in NAT bölümü devreye girer ve şu portu açan şu IP'ye dışarıdan gelecek yanıtları taşı der.

Eğer ki sen bir sunucu uygulaması yazıyorsan. Mesela bir MSN sunucusu yazacaksın (istemci değil). Dışarıdan senin bilg. client'lar bağlantı kuracaksa, ADSL modeminden sunucunun dinlediği port u yönlendirmen gerekir. Çünkü NAT içeride hangi portu dinlediğini bilemez. Senin ayarlardan bunu bildirmen gerekir.

Yani olayda bir hile falan söz konusu değil. Programlama ile de ekstra birşey yapamazsın. Donanım neye izin veriyorsa onu yaparsın olmuyorsa donanımı ayarlarsın.

Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4731
Kayıt: 09 Ara 2003 08:13
Konum: Ankara
İletişim:

Mesaj gönderen mrmarman » 22 Nis 2005 11:35

Merhaba...

- Port açmadan yapmak konusunda ısrarlıysan, HTTP protoklünü kullanabilirsin... Ama sürekli OnLine değil tek taraflı bir sorgu bağlantısı olacaktır. Belli zaman peryodlarında server'a sorgu yaptırıp, yeni mesaj var mı diye kontrol ettirmek lazım gelir...

- Server tarafında bir ASP çalışır ve gelen mesajları tutar. Bu geçici bir TXT dosyası da olabilir, kalıcı bir veritabanı da...

- Sen YeniMesaj.TXT isminde bir dosya var mı diye kontrol edersin, kontrol sonunda eğer varsa server'den bu dosya sana ulaştığında serverden silinir gibi bir metod.
Resim Resim

fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman » 22 Nis 2005 11:51

mrmcop yazdı: - Port açmadan yapmak konusunda ısrarlıysan, HTTP protoklünü kullanabilirsin... Ama sürekli OnLine değil tek taraflı bir sorgu bağlantısı olacaktır.
Hocam HTTP protokolü de port açar. Tek farkı işlem biter bitmez portun kapatılmasıdır.

Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4731
Kayıt: 09 Ara 2003 08:13
Konum: Ankara
İletişim:

Mesaj gönderen mrmarman » 22 Nis 2005 11:55

@coderlord yazdıklarımı bir daha inceler misin... HTTP protokolü dedim ama Port 80'den gelen bilgi demedim . Virtual server port açmadan yapmak değil mi mevzu ? :wink: Sürekli istek var download var gelen çağrı yok... :lol:

// Edit // Ek //
Text Dosyaya Yazma ASP/HTML örnekleri
- Gerek yok ama bu da eksik kalmasın....
Text Dosyadan Okuma ASP /HTML örnekleri
Resim Resim

fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman » 22 Nis 2005 12:32

:) Yanlış anlamışım. Kusura bakma. Neyse benimki de bilgi mahiyetinde oldu.

Arifceylan28
Üye
Mesajlar: 298
Kayıt: 19 Tem 2004 12:45
Konum: Giresun/Samsun

Mesaj gönderen Arifceylan28 » 22 Nis 2005 12:45

Aydınlatıcı bilgileriniz için çok teşekkür ederim.

Cevapla