Register for your free account! | Forgot your password?


Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 12:22

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Client <-> Server - Wie am besten realisieren?

Discussion on Client <-> Server - Wie am besten realisieren? within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
The Black Market: 173/1/0
Join Date: Oct 2011
Posts: 4,602
Received Thanks: 671
Client <-> Server - Wie am besten realisieren?

Hey yo,

ich bräuchte mal nen Denkanstoß.

Kurzes Szenario zum Verständnis:
Programm A im Netzwerk 1: Schreibt "hallo"
Programm B im Netzwerk 2 soll diesen Text empfangen.
Dann schreibt Programm B im Netzwerk 2 "Hallo" und Programm A im Netzwerk 1 soll diese emfpangen können.

Genau das würde ich gerne realisieren.
Dabei ist Programm A aufm PC und Programm B auf einem Androidgerät.
Habe mit Client-Server schon gearbeitet, aber nicht über verschiedene Netzwerke hinweg, sonder im Gleichen.

Wie fange ich am Besten an?
Was brauche ich alles dafür?
Was für Probleme könnten bei dieser Methode auftreten?

Danke schon mal für eure Hifle.

MfG Bombasticx3
Bombasticx3 is offline  
Old 09/29/2017, 13:39   #2
 
elite*gold: 100
Join Date: Apr 2008
Posts: 868
Received Thanks: 1,361
Zentraler Server der die Nachrichten verteilt ist die einfachste Methode.
Problem: Wenn der Server offline ist, kann keiner Nachrichten empfangen, Alle Nachrichten müssen durch den Server (kann überwacht werden)
florian0 is offline  
Thanks
1 User
Old 09/30/2017, 11:05   #3
seit 12 Jahren hier


 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,465
Received Thanks: 3,086
Quote:
Originally Posted by Bombasticx3 View Post
Was brauche ich alles dafür?
Was für Probleme könnten bei dieser Methode auftreten?
Du bräuchtest eine Client Software, sowie eine Server Software.
Deine beiden Geräte wären beides Clients, welche Nachrichten mit einem zentralen Server austauschen.
Der Server pusht dann neue Nachrichten auf die entsprechenden Geräte.

Probleme die du bekommen könntest, wären zum Beispiel Portfreigaben, wenn nicht beide Clients im selben Netzwerk sind. Dann könnte es sein, dass einer keine Nachrichten empfangen/senden kann, da der entsprechende Port geblockt ist.

Eine Alternative wäre es das ganze per P2P zu realisieren, so dass die Geräte direkt miteinander schreiben, aber auch hier bräuchtest du einen zentralen Server, der zumindest die einzelnen Geräte miteinander verbindet.
Menan is offline  
Thanks
1 User
Old 09/30/2017, 13:52   #4
 
elite*gold: 74
Join Date: Aug 2017
Posts: 284
Received Thanks: 151
Falls webbasiert für dich eine Möglichkeit ist würde ich mal in die Runde schmeißen. Soweit ich weiß ist es sogar möglich das in native Apps einzubinden - da reicht meine Erfahrung aber nicht aus um das zu garantieren.
type. is offline  
Thanks
1 User
Old 09/30/2017, 14:45   #5
 
elite*gold: 0
The Black Market: 173/1/0
Join Date: Oct 2011
Posts: 4,602
Received Thanks: 671
Zum derzeitigen Standpunkt steht mein Server mit C++.
Er öffnet einfach nen Socket und wartet auf ne Verbindung.
Gleichzeitig steht auch der Client für Windows.

Finde das webbasierte von type. sehr interessant. Ich schaue mir es mal an.
Bombasticx3 is offline  
Old 09/30/2017, 20:02   #6

 
elite*gold: 3
The Black Market: 169/1/1
Join Date: Aug 2012
Posts: 2,066
Received Thanks: 300
Quote:
Originally Posted by Bombasticx3 View Post
Zum derzeitigen Standpunkt steht mein Server mit C++.
Er öffnet einfach nen Socket und wartet auf ne Verbindung.
Gleichzeitig steht auch der Client für Windows.

Finde das webbasierte von type. sehr interessant. Ich schaue mir es mal an.
Wenn du in C++ arbeiten willst, schau dir mal die Boost Bibliothek bzw. Boost::asio an...

Hab da auch schonmal nen tcp-client/server geschrieben.
herlex is offline  
Thanks
1 User
Old 09/30/2017, 20:43   #7
 
elite*gold: 0
The Black Market: 173/1/0
Join Date: Oct 2011
Posts: 4,602
Received Thanks: 671
Quote:
Originally Posted by herlex View Post
Wenn du in C++ arbeiten willst, schau dir mal die Boost Bibliothek bzw. Boost::asio an...

Hab da auch schonmal nen tcp-client/server geschrieben.
Server usw schreiben ist kein großes Problem.
Das Problem bei mir ist eher die Verbindung der Server hinzubekommen, die nicht auf dem gleichen Gerät sind.
Server->Client aufn gleichen Gerät läuft.
Aber Server auf Gerät A und Client auf Gerät B im gleichen Netzwerk klappt schon nicht.
Sobald ich einen Client für Android schreibe, gehts nicht mal per Emulator aufm gleichen Gerät.
Bombasticx3 is offline  
Old 09/30/2017, 22:51   #8
 
elite*gold: 74
Join Date: Aug 2017
Posts: 284
Received Thanks: 151
Was genau ist denn dein Plan? Möchtest du wirklich eine Chatapplikation bauen? Dann ist eine webbasierte Lösung vielleicht garnicht die schlechteste Variante, da du mit einer PWA (fast) komplett Plattform unabhängig bist. (:
type. is offline  
Old 10/01/2017, 01:40   #9
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
Eigentlich ist die Lösung für dein Problem sehr einfach. IPv6, dieses Protokoll tut genau das was du willst. IPv6 kümmert sie (so wie bereits IPv4) um das routing von Paketen durch mehrere Netzwerke. Im Gegensatz zu IPv4 hat IPv6 allerdings genügend Adressen, so das jeder Computer eine eigene IPv6 Adresse bekommt, und damit die komplizierten NAT Netzwerke von IPv4 wegfallen.

Mit IPv6 würde ich nicht zu einem zentralen Server greifen, nur eine Zentrale Adressverwaltung. Über die lädst du dir dann lediglich die IP-Adressen deiner Chatpartner runter, und dann kannst du sehr einfach die Nachrichten versenden. Verteilte Systeme haben gegenüber zentralen Systemen immer den Vorteil das diese deutlich robuster und flexibler sind. Die performance sollte auch deutlich besser sein, da ein Bottleneck wegfällt und es ist natürlich von Natur aus sicherer, da man praktisch nicht wissen kann welchen Pfad ein Paket nehmen wird (trotzdem solltest du das ganze verschlüsseln).

Den einzigen Nachteil den verteilte Systeme wirklich haben ist das es deutlich schwerer zu testen ist.

Das einzige Problem ist natürlich dabei, das IPv6 praktisch noch kaum verwendet wird.
warfley is offline  
Old 10/01/2017, 14:09   #10
 
elite*gold: 0
The Black Market: 173/1/0
Join Date: Oct 2011
Posts: 4,602
Received Thanks: 671
Quote:
Originally Posted by type. View Post
Was genau ist denn dein Plan? Möchtest du wirklich eine Chatapplikation bauen? Dann ist eine webbasierte Lösung vielleicht garnicht die schlechteste Variante, da du mit einer PWA (fast) komplett Plattform unabhängig bist. (:
Mein Plan ists nur einen Text vom PC (Programm, nicht Browser) aufs Handy zu schicken. (App, nicht Browser oder so)
Ist zwar keine Chat App in dem Sinne, aber macht halt das Gleiche.
Bombasticx3 is offline  
Old 10/25/2017, 21:25   #11
 
elite*gold: 0
Join Date: Sep 2011
Posts: 194
Received Thanks: 64
Dedizierter Server, welcher auf einem bestimmten Port lauscht, wie schon mehrmals hier erwähnt. Die beiden Clients verbinden dann zum Server und der Server ließt die Nachrichten und leitet sie eben an die anderen Clients weiter. Da du ja eh eine App für ein Smartphone realisieren willst, empfiehlt sich Java.
iSynaptic is offline  
Reply


Similar Threads Similar Threads
Wie definier ich am besten/schnellsten mein Sixpack | Sichtbar am besten also!
08/06/2013 - Sports - 6 Replies
Hallo, Also referenzen : Wixxe jeden Tag! Nee spaß. Jetzt mal ehrlich also trainiere schon fast 1 Jahr bin jetzt 16 Jahre alt und wiege 60kg und bin 1,71cm groß. Meine Brust ist schon sichtbar ausgeprägter als vorher sowie meine Arme (Trizeps/Bizeps). Mein Bauch ist auch total besser geworden aber dauert einfach und ändert sich fast garnicht..
Liste als Array realisieren
01/17/2013 - General Coding - 4 Replies
Hallo, ich habe mal eine Frage bzgl. der Datenstruktur "Liste". Ich möchte eine Liste als Array programmieren(also OHNE ArrayList) und soll dabei eine Struktur verwenden, inder es quasi zwei Spalten gibt: - Inhalt - Use Liste(Ein "Zeiger" auf das nächste Element) - eine Start Variable auf das erste Element Ich simuliere das ganze mal mit einer Länge von 4. 0 -1
Wie realisieren?
08/15/2012 - Web Development - 1 Replies
Hallo, Ich habe momentan folgenden Code: <select name="selectionField"> <option value="money">Geld</option> <option value="virtual">Virtuelles</option > <option value="real">Gegenstand</option> ; </select>
[S] besten serverfiles und besten client (virtual pc )
02/26/2012 - Metin2 Private Server - 13 Replies
Hey Suche den besten Client und die besten Serverfiles. Bitte beim Client auch mit der mc usw. Sonst komm ich durcheinander. Und die serverfiles sollen mit virtual pc kompatibel sein wer mir links postet der kriegt ein thanks Skype : denis.becker2
[VB.NET][TuT] Eine Pause realisieren
10/05/2010 - Coding Tutorials - 4 Replies
================================================== ================================================= = In diesem TuT zeige ich euch, wie wir eine Pause in der Anwendung nutzen. ================================================= = ================================================= = Die Delay-Funktion werden wir in VisualBasic vergeblich



All times are GMT +2. The time now is 12:22.


Powered by vBulletin®
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2021 elitepvpers All Rights Reserved.