Merhabalar,
Socket.io kullanarak eşleştirmeli basit bir uygulama deniyorum ancak bağlantı konusunda bir sorun yaşıyorum. Bu arada 3000 portunu kullanıyorum.
Node.js ile gerekli tüm işlemleri yapıyorum, localhost'ta sorun yok ama kendi websitemi sisteme nasıl entegre edeceğimi anlamadım. Siteme ait ip adresini de (örneğin https://xx.xx.xx.x:3000 şeklnde) url olarak yazdığımda sorun yaşıyorum. Gerekli node.js ve html dosyaları lokalde olduğu gibi aynı klasör içerisinde duruyor.
Örnek çalışmaları inceleyerek gerekli işlemleri yapıyorum ancak örnekte localhost kullanılıyor. Peki ben kendi websitemi kullanarak online eşleşme işlemini nasıl yapabilirim. Orayı aklım almadı, yardımcı olabilirseniz sevinirim.
Şimdiden teşekkürler.
Socket.io Kendi Sitem İle Socket Başlatıp İşlem Yapamıyorum
9
●358
- 08-05-2022, 21:08:28Online bağlantı nasıl sağlanacak peki hocam mantığını kavrayamadım? Yani 2 ayrı kullanıcı nasıl eşleşecek? Bir site aracılığıyla sunucu ve istemci oluşturmak gerekmiyor mu?
Örnekte şöyle yapmış:
try { socket = IO.socket( "https://10.0.2.2:3000" ); socket.on( Socket.EVENT_CONNECT, new Emitter.Listener() { @Override public void call(Object... args) { runOnUiThread( new Runnable() { @Override public void run() { Toast.makeText( MainActivity.this, "Bağlandı", Toast.LENGTH_SHORT ).show(); } } ); } } ); socket.connect(); Log.e( "socket",socket.isActive()+"" ); registerAllEventForGame(); } catch (Exception ex) { Toast.makeText( MainActivity.this, ex.getMessage(), Toast.LENGTH_SHORT ).show(); }Örnekte yer alan bu url kısmını kendi siteme ait ip adresiyle değiştirmeyi denedim ama olmadı.
socket = IO.socket( "https://10.0.2.2:3000" );
Komik bir durum sanıyorum bilenler için ama tıkandım
Edit: Bu arada hiç bağlanamadığım için bağlandı Toast mesajını göremedim hiç. - 08-05-2022, 21:14:11Socket io sunucu tarafı vds serverda ise, localhost veya xx sayfalardan istemci taraflı bağlantı sağlayabilirsin.
Sanırım siz tam tersini yapıyorsunuz. Farklı bir sıkıntınız daha var canlı ortama deploy ettiğinizde ip adresi devre dışı kalır, sebebi ip adresi ile https bağlantısı sağlayamazsınız. - 08-05-2022, 21:22:11Şu videoda yer alan işlemleri yapmaya çalıştım(CodeDev adlı üyeden alıntı: mesajı görüntüle
Android Studio Tutorial - Realtime Online Lucky Number Game with Node JS Backend SocketIO - YouTube ), yerel diskte cmd üzerinden node.js gerekli dosyalarını indirip bir klasörde tutuyor. Ben o dosyaları aynen alıp ftp üzerinden siteme ait public bir klasöre attım, mantıken böyle olabileceğini sandım ama sanıyorum mantık farklı işliyor. Fazla düz mantık düşündüm galiba. Peki nasıl bağlanabilirim? Aklım durdu sanki, hakim olduğum bir konu da değil node.js
Kendimi tam olarak ingilizce ifade edemediğim için internette de mantıklı bir izah bulamadım
- 08-05-2022, 21:36:14Videoda anlatılanı doğru anlamışsınız, lakin deploy aşamasında işler böyle yürümüyor. Hakim olmadığınız için önce localhostta iyice kendinizi geliştirmemiz gerekiyor, sonrası bir kaç prosedürden ibaret. Bu şekilde imkansıza oynuyorsunuz bilginiz olsun.mobiledev adlı üyeden alıntı: mesajı görüntüle
- 08-05-2022, 22:17:21localhostta denemelere devam etmeliyim, inşallah mantığını kavrayabilirizCodeDev adlı üyeden alıntı: mesajı görüntüle

Bir soru daha sormak istiyorum, localhostta yapılan istemci/sunucu iletişimini kendi websitemle de yapabilirim değil mi? - 08-05-2022, 22:20:06Sunucunuzda NodeJS çalışıyorsa yapabilirsiniz. Fakat JS dosyalarını kendi sitenize atarak yapamazsınız direkt. Bir socket server kurmanız gerekiyor.mobiledev adlı üyeden alıntı: mesajı görüntüle
- 08-05-2022, 22:27:43Socket io Server tarafı vds'de ise evet, kendi web siteniz veya localhost istemci aracılığıyla haberleşebilirsiniz. Socket io server tarafı web sayfalarının çalıştığı klasik hosting hesaplarında çalışmaz, bu aklınızda bulunsun. Yani Sorunuza tekrar dönersek elinizdeki mevcut materyaller ile hayır.mobiledev adlı üyeden alıntı: mesajı görüntüle
