Aynı ağda mısınız? Yoksa farklı ağlarda mı?
Eğer aynı ağdaysanız, server’ın yerel ip adresini yazmanız gerekiyor. Eğer farklı ağlardaysanız, harici ip
adresini yerel ip adresinde açtığınız bir port’a yönlendirmeniz gerekiyor.
Aynı ağda mısınız? Yoksa farklı ağlarda mı?
Eğer aynı ağdaysanız, server’ın yerel ip adresini yazmanız gerekiyor. Eğer farklı ağlardaysanız, harici ip
adresini yerel ip adresinde açtığınız bir port’a yönlendirmeniz gerekiyor.
nasıl yapıcaz hiç bilgimiz yok
Port yönlendirmeyi modem arayüzünü kullanarak yapacaksınız.
bir şey sorucam diğer server kullanan uygulamalrda neden böyle uğraşmıyoruz
Diğer server kullanan uygulamalar derken?
eve online gibi veya dropboxın python ile yaptığı mesajlaşma uyg gibi
Dropbox’ın kendi sunucusu var, istemciler doğrudan dropbox’a bağlanıyor.
biz bir chat uygulaması yapıcaz ama bunu yapamadık bunun için ne yapmamız lazım
yani anladım böyle modem üzerinden uğraşıyoruz ama normal bir kullanıcı bunları yapmak istemez ne yapmalıyız
Dostum normal bir kullanıcıya istemci
'yi vereceksiniz zaten. Sunucu
sizde kalacak.
haa sunucuyu mu böyle bağlıcaz
Aynen, istemcinin bir şey yapmasına gerek yok. Ancak şöyle bir durum var. Siz modem’e her reset attığınızda ip adresiniz değişecek. Muhtemelen dinamik bir ip kullanıyorsunuz. Bir algoritma geliştirip, istemcinin güncel ip adresine ulaşmasını sağlayabilirsiniz. Veya sabit bir ip adresinizin olması gerekiyor.
socket ile uğraşmak bu kadar uğraştırıcımı ya
Socket programlamaya giriş için network bilginizin olması gerekiyor görünüşe bakılırsa server-client modelini bile daha tam olarak oturtamamışsınız.
Yapıcı yorumlar yapmaya çalışıyorum sizin yararınıza olduğunu düşündüğümden dolayı önce
Network öğrenin bilgisayarların farklı veya aynı ağda olduklarında nasıl mesajlaştıklarını v.s
Onların kendi sunucuları var, biz nasıl www.google.com’a bağlanabiliyorsak o uygulamalar da belli bir sunucuya bağlanıyor. Bir sunucu kiralayarak bunu siz de yapabilirsiniz.
Port yönlendirmeyi router destekliyorsa kod ile de yapabilirsiniz.
İstemcinin bağlanması gereken adres aşağıdaki gibi olacak.
client_socket.connect(("harici ip adresi", "port"))
Sabit bir ip adresiniz varsa, host
kısmına bu ip adresini yazabilirsiniz. Ancak dinamik bir ip adresini host kısmına yazarsanız, modem resetlendiğinde aynı adrese bir daha bağlanamazsınız. Dolayısıyla eğer dinamik ip adresi kullanacaksanız. Server
kısmında şöyle bir şey yapabilirsiniz:
Ancak böyle işlemler için dinamik ip adresi pek kullanılmıyor, statik ipler kullanılıyor.
Tabi önce nasıl yönlendireceğini öğrenmek koşuluyla. Burada da @Asosyal_Futbolcu’nun bahsettiği gibi network bilgisine ihtiyaç duyuluyor.
Kütüphaneler bol. İnternete “python upnp” veya “python port routing” yazınca bir şeyler çıkıyor.
Tabi ki, işte öğrenmeden kastedilen de bu. Bir kaynağı okurken, o kaynak başka bir konuya atıfta bulunabilir, o yeni kaynak okunur, o kaynak konuyla alakalı başka bir ayrıntıya değinir. Bu sefer o ayrıntı araştırılır, öğrenilmeye çalışılır. Yavaş yavaş da olsa, konuyla alakalı bilgileri topladıkça ve zaman içerisinde bilgi sahibi oldukça bazı şeyleri yapmak kolaylaşır.
Anladım. Ama bu protokoller biraz ayrıntıya giriyor, ben özellikle ihtiyacım olmadığı veya bir problem yaşamadığım sürece sadece kütüphaneyi kullanmakla yetinirdim.
Bu yaklaşım da tercih edilebilir. Yani bir network uzmanı olmaya gerek yok, sadece ihtiyaç duyulacak kısımlar da öğrenilebilir. Önemli olan doğru yerde doğru kelimelerle doğru aramayı yapabilmek.