Arkadaşlar merhaba dün Azure üzerinden bir Windows 2016 Server aldım. (Ücretsiz deneme) Sunucu üzerinde MySQL veritabanım ve yaptığım Chat App için server programı çalışacak. Farklı bilgisayarlar üzerinden de client Ile giriş yapılacak.
-> İlk etapta login page üzerinde MySQL bağlanıp kullanıcı sorgulaması yapılıyor burada hiçbir sorun yok. Yani sunucuya kurduğum MySQL veritabanına ulaşabiliyorum.
-> Fakat client uzerinden server programına bağlanamıyorum. Bağlanmaya çalıştığım portu açtım, farklı portlar üzerinden denedim ama yok olmuyor.
-> Kendi bilgisayarım üzerinden CMD ile ping göndermeye çalışıyorum orada da başarısız oluyor.
Nasıl çözebilirim bulamadım yardımcı olursanız çok sevinirim. Aynı zamanda firewall da kapattım ama nafile.
Sunucuma Bağlanıyorum fakat Socket Programlarım Çalışmıyor
8
●164
- 18-07-2020, 16:19:15
- 18-07-2020, 16:21:18Hocam portları tek tek değilde hepsini açmayı denermisin ?meftuniberder adlı üyeden alıntı: mesajı görüntüle
- 18-07-2020, 16:23:19Bunu denemedim tehlikeli olabilir diye ama deneyeceğim. Fakat sorun portlarda mi emin değilim çünkü kendi bilgisayarımdan cmdden de sunucuya ping gönderemiyorumbitGAMER adlı üyeden alıntı: mesajı görüntüle
- 18-07-2020, 16:25:39Source: Any Destination: Any yap TCP ve UDP için ayrı ayrı aç portları hem gelen hem giden kısmına. Diğer kuralların hepsini sil.meftuniberder adlı üyeden alıntı: mesajı görüntüle
- 18-07-2020, 16:35:20Yaptığınız sunucu konfigürasyonunu tam olarak bilmiyorum, firewall kapalı olduğu halde ping atamıyorum dediğiniz için aklıma geldi. Sunucuya azure üzerinde external ip tanımlamamış olabilir misiniz? Bir de sqle nasıl erişim sağlıyorsunuz direkt sunucu üzerinden mi, orada sorun yok demişsiniz.meftuniberder adlı üyeden alıntı: mesajı görüntüle
- 18-07-2020, 16:42:59External IP konusunda bir bilgim yok maalesefdayko_ adlı üyeden alıntı: mesajı görüntüle

Sql bağlantısını sunucu üzerinden değil kendi bilgisayarımda bulunan client programımdan bağlanıyorum.
Şu şekilde:
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://SERVER-İP:3306/DATABASE_İSMİ","root","PASS") - 18-07-2020, 16:51:41Bu şekilde erişim sağlıyorsanız dışa açık bir ip mevcut sunucu üzerinde, orada sorun yok. pingleyememe büyük ihtimalle firewall tanımlarından kaynaklanıyor, icmp paketlerini bi tanım drop ediyor olabilir, uygulamanız sunucu üzerinde aktif mi yani sunucu üzerinden (localhost'ta) ilgili uygulamanıza ya da en azından hizmet verdiği porta erişim sağlayabiliyor musunuz?meftuniberder adlı üyeden alıntı: mesajı görüntüle
- 18-07-2020, 17:00:01Evet bunu da denedim uygulamayı hatta daha basit bir uygulama olan https://www.javatpoint.com/socket-programmingdayko_ adlı üyeden alıntı: mesajı görüntüle
Bu linkte ki ilk uygulamayı sunucu üzerinde localhost uzerinden çalıştırınca sorun olmuyor. Düzgün çalışıyor daha sonra serveri sunucu da bırakıp clienti kendi bilgisayarımda açınca yine çalışmıyor bağlanmıyor server uygulamasına - 18-07-2020, 17:09:45meftuniberder adlı üyeden alıntı: mesajı görüntüle

Sunucu üzerindeki Windows firewall ayarlarınız da bu şekildeyse, sorun net bir şekilde azure üzerindeki firewall tanımlarından kaynaklanıyor. Ya firewall kurallarının önceliği ya da source destination tanımınız hatalı.

