Uzak bilgisayara baglanmak

Python ile ayni aga bagli bilgisayarin konusmasi icin basit chat programi yazdim fakat uzak bilgisayara baglanammiyorum bunun icin onereceyiniz bir modull varmi? veya ornek bri program varsa ona bakarak bilgi edine bilirim

Bulundu─čunuz a─čda port a├žarsan─▒z, uzaktan da baglanabilirsiniz.

Mesela sitelerin ├žal─▒┼čt─▒─č─▒ serverlarda 80. port default olarak a├ž─▒kt─▒r. Taray─▒c─▒lar bu portu kullan─▒r aksi belirtilmedi─či s├╝rece.

Merhaba, modem aray├╝z├╝nden, kulland─▒─č─▒n─▒z bilgisayar i├žin a┼ča─č─▒daki resimde oldu─ču gibi bir tane port y├Ânlendirin.

Resimde g├Âr├╝len yerel kullan─▒c─▒ya, bilgisayar─▒n IPv4 adresini yaz─▒yorsunuz. IPv4 adresini komut sat─▒r─▒ndan ├Â─črenebilirsiniz:

Windows i├žin:

ipconfig

Linux i├žin:

ifconfig

Port y├Ânlendirme i┼člemi tamamland─▒ktan sonra a┼ča─č─▒daki scripti ├žal─▒┼čt─▒rarak public ip adresinizi ├Â─črenin (modem aray├╝z├╝nde de yazar public ip adresi).

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

try:
    import urllib.request as urllib
except ImportError:
    import urllib
url = "https://ident.me/"
public_ip = urllib.urlopen(url).read().decode("utf-8")
print(public_ip)

Bu ip adresini istemciye verin ve sizin modem aray├╝z├╝nden y├Ânlendirdi─činiz port ile bu ip adresini kullanarak sunucudan farkl─▒ bir a─čda olan bir istemci sunucuya ba─člans─▒n.

Not: Sunucunun port ve adresinin ba─čland─▒─č─▒ k─▒sma public ip adresini yazmay─▒n, a┼ča─č─▒daki gibi yaz─▒n.

# s'in socket oldu─čunu varsayal─▒m.
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("", 12345))

Not: Public ip adresini ve portu istemci ┼ču ┼čekilde yazmal─▒d─▒r:

# s'in socket oldu─čunu varsayal─▒m.
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("public_ip_adresiniz", 12345))
1 Be─čeni

boyle programlar modem uzerinden port acmakla oluyorsa acaba Teamviewer gibi programlar nasil calisir ? onun mantgi nedir modem arayuzune girmeden port-mu aciyorlar

Teamviewerin arka planinda ne tur islemlerin yurutuldugunu bilmiyorum. Teamviewer bizim uzerinde durdugumuz socket uygulamasindan daha kapsaml─▒ bir program. Baz─▒ i┼člemler otomatik olarak program tarafindan gerceklestiriliyor olabilir. Ayrica port yonlendirmekle alakali python program─▒ (python2 i├žin) oldugunu birisi bana soylemisti. Ben de Python2 kullanmad─▒─č─▒m i├žin bu program─▒ denememi┼čtim.

Team viewer gibi programlar, arkasinda bir sunucu bulundurur. Yani size ba─članan ki┼činin g├Ânderdikleri direk size gelmez, ├Ânce sunucuya oradan da size. P2P(Peer to peer) degil.

TeamViewer gibi programlar─▒n kendi serverleri vard─▒r yani bir odada server makinesi ve teamviever base serverin cali┼čti─či yaz─▒l─▒m vard─▒r.

sen Download/TeamViewer
Burdan teamvieveÔÇÖi indirdi─čin zaman asl─▒nda teamviewerÔÇÖin clientini indirmi┼č olursun clienti ├žal─▒┼čt─▒rd─▒─č─▒n zaman serverlar─▒n ba─članmi┼č olursun. Serverlarda seni ba┼čkla clientlere ba─članman─▒ sa─člar. Kaba mant─▒k olarak bu.

Bence sorunu TeamViewer ile ├ž├Âz├╝lmez ├ž├╝nk├╝ bu programla ba─čland─▒─č─▒n bilgisayara t├╝m├╝ylen h├╝kmediyorsun ama arkada┼č onu yaparsa kendi yapt─▒─č─▒ cheat program─▒ bir i┼če yaramaz. Onun istedi─či ancak kendi pc sinde ve uzaktakinde internet olursa ve uzaktan eri┼čim i├žin g├╝venlik duvarlar─▒n─▒ birbirine a├žarsa sonra ikiside modemlerinden birbirinin ipsi ile ba─člant─▒ kurarsa olur. Yada bir site kuracak ve program bu site ├╝zerinden mesajlar─▒ cheat program─▒n─▒n kullan─▒c─▒lar─▒na g├Âsterecek.

Cevaplarda biraz hata var. TeamViewer server kullanmaz. PeerToPeer veya UPnP teknoloji kullanarak i┼člemleri halleder. E─čer server kullan─▒rsa iki katmanl─▒ bir izleme g├Âz ├Ân├╝nde olacakt─▒. Bu da yava┼č bir performansa sebep olurdu. PeerToPeer teknolojisi sayesinde iki client aras─▒nda(arada bir arac─▒ olmadan) direkt ba─člant─▒ olu┼čturarak; i┼čleminizi h─▒zl─▒ kontrol ediyor.

NOT: Sistem olarak TeamViewer serverlar─▒ mevcut fakat bu serverlar client applicationlar i├žin ge├žerli de─čildir.

┼×urada bulunan onayl─▒ cevab─▒ okuman─▒z─▒ ├Âneririm.

1 Be─čeni