-
03.08.10 17:57 #1
Hallo, alle miteinander!
Ich arbeite mich gerade in die ganze (Server)Socketgeschichte hinein, und habe es nun immerhin schon ein paar Bytes über den Localhost geschickt.
Nun will ich das ganze aber ins Internet transferieren.
Soweit ich das verstanden habe, muss ich dazu den ServerSocket online stellen...
Nur habe ich keinerlei Ahnung wie ich da vorgehen soll.
Ich habe eine Domain, und in einem jämmerlichen Versuch gestarten, eine Jar dort hochzuladen nur um dann keine Ahnung zu haben, wie ich die starten soll
Ich hoffe, ihr könnt mir helfen, denn irgendwie habe ich kein Tutorial gefunden, dass das erklärt.
Danke schonmal, Wolfy!"Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger."
-
Ganz so einfach geht das nicht.
Ich schätze mal du meinst mit einer Domain ein Webhosting-Paket.
Bei denen hast du (meist) kein Erlaubnis eigene Programme auszuführen.
Du musst dir entweder einen Server mieten auf den du SSH Zugriff(teuer) hast oder einen eigenen PC verwenden.
Das Problem beim letzteren ist, dass sich einmal deine IP über die du erreichbar ist regelmäßig ändert und dein PC/Programm immer laufen muss.
Also müsstest du deine IP regelmäßig deinem Domain-Anbieter mitteilen.
Zum Testen solcher Server-Programme bieten sich Dienste wie No-IP, DynDNS, etc. an.
Gruß
Erik
-
03.08.10 19:33 #3
Danke erstmal... Endlich hab ich mal eine Antwort auf ein paar Fragen...
Jetzt ist es mir natürlich etwas peinlich zu sagen, dass mir nicht ganz klar ist wie ich die genannten Dienste jetzt benutzen kann...
Ich glaube fast, ich brauch da mal eine Kompletteinführung
So wie ich das sehe, kann ich mir mit No-IP gratis einen Host schustern und ein Host ist sozusagen ein wenig Speicherplatz auf der "Festplatte Internet".
Nur was ist dann ein Server...
Und wie kann ich Diesen Dienst verwenden.. Ich stehe gerade mehr als nur auf der Leitung.
Ich hoffe du oder jemand anders kann mir da weiterhelfen!
Danke, Wolfy"Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger."
-
Wenn du dich mit dem Internet verbindest bekommst du eine IP zugeteilt.
Diese IP ist dann die Addresse auf deinen PC / Router.
Wenn du nun bestimmte Konfigurationen an deinem Router und PC vornimmst kannst du einen Port so durchschleusen das er an deinem PC landet.
Nehmen wir einmal an dein Programm läuft auf Port 1234. Dann stellst du in der Routerkonfiguration ein das er alle externen Anfragen die auf den Port 1234 ankommen auf deinen PC weitergeleitet werden. (Falls dieser noch von einer Firewall geschützt ist muss dort auch der entsprechende Port geöffnet werden) Wenn nun ein Client deine IP Addresse weiß kann er mit dem laufendem Server verbinden und kommunizieren. Das ganze funktioniert solange gut bis du eine neue IP bekommst. Dann hat dein Server auf einmal eine neue Addresse die keiner mehr kennt. Aus diesem Grund musst du dir in etwa etwas wie einen Alias für deine IP Addresse besorgen. Dies kannst du zum Beispiel bei DynDNS erreichen. Dort kannst du dir eine Addresse besorgen wie: www.meintollerserverdienst.homeip.net. Dann sagst du deinem Router er soll deine neue IP immer DynDNS mitteilen oder installierst dir falls, dein Router diese Funktion nicht hat, eine entsprechende Software. So können deine Clienten ihre Anfragen an meintollerserverdienst.homeip.net schicken und sie kommen an deinem PC raus.
Falls noch irgendwelche Fragen bestehen einfach Fragen!
Gruß
Erik
-
Willst du jetzt einfac mal eine Socketverbindung zwischen zwei Rechnern herstellen; oder wirklich einen Server, der Tag und Nacht erreichbar ist?
-
03.08.10 23:05 #6
Ich bin gerade dabei ein Spiel zu programieren, und will dann dass man einem 4-Spieler Game joinen kann... Habe dazu bereits schon die Ansätze nur muss ich irgendwie die KeyEvents schicken...
"Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger."
-
Ich würde an deiner Stelle den Spielserver öffentlich zur Verfügung stellen, sodass sich ihn jeder selbst herunterladen und bei Bedarf starten kann.
So sparst du dir den Aufwand und die Kosten einen Server zu unterhalten.
Gruß
Erik
-
05.08.10 18:53 #8
Kann ich das dann auf Java angewandt, so verstehen, dass jeder (max. 4 Spieler) die Jar mit dem ServerSocket startet und...
Jetzt bin ich wirklich total überfordert. Würde dann jeder Spieler mit den anderen ServerSockets Verbindungen aufbauen?
Oje,oje... Und hatte doch irgendwann die Hoffnung das könne doch gar nicht so schwer sein
"Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger."
-
Nein nicht ganz.
- Einer lädt sich den Server runter.
- Startet ihn.
- Gibt seinen Freunden seine IP.
- Seine Freunde verbinden sich jeweils mit ihren Client Versionen zum Server des einen Freundes.
-
05.08.10 19:51 #10
Ich habe es jetzt soeben mit einem Freund versucht!
Der Client kann keine Verbindung auf bauen:
Mit "Connection refused: connect" stoppt er in der Zeile
Als IP habe ich ihm meine Aktuelle Ip gegeben und als port habe ich 4711 verwendet...Code :1
socket.connect(new InetSocketAddress ( ip,port));
Wie ich im ersten Post erwähnt, geht das ja local.
Irgendwas scheint da wieder nicht zu passen... Vlt. etwas mit meinem Router?
Ach übrigens... Muss sich der Serverersteller dann eigentlich auch zusätzlich als Client verbinden?Geändert von Wolfy0013 (05.08.10 um 19:55 Uhr)
"Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger."
-
1. Port-Weiterleitung in der Routerkonfiguration für den Port eingerichtet?
2. IP ist öffentliche IP? (http://www.wieistmeineip.de/)
3. ggf. Port in deiner Firewall geöffnet?
Grüße
Erik
-
Kommt immer drauf an, wie du programmierst.
Entweder ein Programm, das den Server stellt und sonst nichts; und ein Client-Programm; mit dem man spielen kann; dann ja.
Du könntest aber auch ein Spiel-Programm, das sich irgendwohin verbinden will; und einmal das gleiche Spiel, das nebenbei als Server arbeitet, machen.
Empfehle aber dringend die erste Variante.
-
05.08.10 22:37 #13
@Sheel: Danke für die Aufklärung. Da nehme ich auf jeden Fall die erste!
Danke für die Tipps:
Also in der Firewall habe ich den Port freigeschaltet, Ip ist die richtige... Und im Router hab ich den Port 4711 auch freigeschaltet!
So langsam fange ich an zu verzweifeln...
Ich hoffe, dass es doch noch eine Lösung gibt,
Wolfy"Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger."
-
1. Läuft dein Serverprogramm?

2. Funktioniert ein ping auf den anderen Rechner?
ansonsten weiß ich auch nicht weiter...
-
06.08.10 12:53 #15
Ok... Hab einen Ping mit CMD und einer Java Application versucht!
Und es geht einfach nicht! Weder dass ich einen Computer erreiche, noch das mich einer erreicht!
Aber ich habe gerade den ServerSocket ausgegeben!
Das kam mir irgendwie äußerst schräg vor...ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=4711]
WolfyGeändert von Wolfy0013 (06.08.10 um 14:40 Uhr)
"Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger."
Ähnliche Themen
-
Fotos von Autos online stellen
Von MC-René im Forum Buchführung, Recht, Steuer & Co.Antworten: 7Letzter Beitrag: 14.08.10, 19:46 -
eigenes j2ee-projekt online stellen
Von macsx im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 21.03.09, 14:43 -
Community online stellen
Von scorpion4000 im Forum Hosting & WebserverAntworten: 3Letzter Beitrag: 17.10.05, 17:09 -
Logo selbst erstellen und online stellen
Von raida im Forum Handy, PDA & mobile WeltAntworten: 1Letzter Beitrag: 15.03.05, 14:40 -
vsftp online stellen ....
Von crazyTux im Forum Linux & UnixAntworten: 7Letzter Beitrag: 14.10.03, 10:06



5Danke

Zitieren


Login





