Instantmessenger mit Java

Status
Nicht offen für weitere Antworten.

ManuP

Mitglied
Hallo Leute,

ich würde gerne einen Instant-Messenger (mit eigenem Protokoll) in Java programmieren. Ich bekomme auch Unterstützung von zwei Freunden, sodass sich der Aufwand etwas verteilt.

Vorweg: ist so was mit Java überhaupt möglich?

In dem Buch: Java ist auch eine Insel (http://www.galileodesign.de/openbook/javainsel5/javainsel16_007.htm#Rxx747java160070400063A1F03F100) habe ich folgendes gelesen:

Ein Server kann nur auf unserem Rechner gestartet werden. Ist der Rechner vom Internet aus erreichbar, können externe auf ihn zugreifen. Anders sieht es aus, wenn der Rechner eine Internet-Adresse hat, die von außen nicht sichtbar ist, weil er zum Beispiel über einen Router ins Internet geht. Dann vergibt dieser Router eine eigene Adresse – die oft mit 192.168 oder 10 beginnt – und setzt sie per NAT um, sodass unsere private Adresse außen verborgen bleibt. Die Frage ist nun, ob wir trotzdem einen Serverdienst anbieten können.

Nun ist es aber so, dass z.B. icq auch durch einen router hindurch läuft, oder msn oder sonst was. Das ist aber ja nur der Client. und dieser darf auf irgendeinen Server im Internet zugreifen, sodass nur der Server die entsprechenden Routereinstellungen braucht.

Wir wollen jedoch einen Instant Messenger programmieren, der den Server nur zum connecten (tausch der ip adressen) benötigt, un dann eine peer-to-peer verbindung aufbaut. Das alles natürlich verschlüsselt etc.

Nach was sollte ich (um das Projekt umsetzten zu können) schauen? Schlüsselwörter etc.

Wenn jemand mitarbeiten möchte: PN.

Vielen Dank,
Manu
 
T

tuxedo

Gast
Schlüsselwort:

- NAT
- Port Forwarding
- UDP Hole Punching
- P2P Architektur

BTW: Wieso noch einen Instant Messenger? Was kann denn euer IM was andere nicht können? Wenns nur um "lästige Werbung" in ICQ geht: Kennst du "Jabber"?

Gruß Alex
 
T

tuxedo

Gast
Wildcard hat gesagt.:
Zunächst mal:
Warum in Gottes Namen sollte das mit Java nicht möglich sein? ???:L

Ja, das hab ich mich eigentlich auch gefragt. Ich mein: Wenn so wenig von Java weiß -> Wie gut stehen da die Chancen dass das Projekt in absehbarer Zeit ein brauchbares Ergebnis liefert?

Oder geht's hier mehr um den Lerneffekt?
 

ManuP

Mitglied
@alex0801: Ja, ich kenn Jabber. Nutze ja selbst Linux auf meinen Rechner --> licq (als icq client, der ist auch ohne Werbung)

Wir sind aber - wie gesagt - zu dritt. Ich nutze Linux, der eine andere Mac OS und der andere Windows.
Jeder hat was an icq auszusetzen. Da wäre zum Beispiel, dass man Dateien nicht verschicken kann. Das icq Protokoll ist ein bisschen veraltet...
Naja, Motive haben wir genug.

@Wildcat
Ich liebe die Ironischen Fragen ;) Dann ist ja alles gut!
 
T

tuxedo

Gast
@Manu

Naja, bist du dir SICHER dass du Jabber kennst? Jabber hat ein eigenes Protokoll, Clients für alle Plattformen und KANN, MUSS aber nicht ICQ und Co. einbinden. D.h. mit Jabber ist man von ICQ gänzlich unabhängig.


Mit dem "Jabbin" Client kann man sogar telefonieren ... Dateien verschicken geht auch prima.

Jabber verwendet bei der Client zu Client Kommunikation auch P2P (Der Server spielt nur den Index). Ähnlich handhabt es auch Skype.

Kannst du mir ein Feature nennen das euch wichtig ist und das Jabber nicht abdeckt?
 

Wildcard

Top Contributor
Gaim/Pidgin ist doch für alle 3 Plattformen erhältlich und unterstützt so ziemlich alle Protokolle....
Noch ein Tipp am Rande. Gaim/Pidgin verwendet die lib purple für die Kommunikation. Macht doch ein Java Binding dafür, dann kann jeder relativ flott ein Java Frontend dafür schreiben und ihr spart euch viel viel arbeit. Auf die Weise hätten alle was davon.
Wenn Ihr euch für die lib purple entscheidet wäre ich eventuell sogar bereit euch bei der Sache zu unterstützen und/oder ein SVN Repository zu stellen....

btw. Ich lasse mich nur ungern als Wildcat bezeichnen, das hat einen billig-porno touch :wink:
 

Wildcard

Top Contributor
alex0801 hat gesagt.:
Kannst du mir ein Feature nennen das euch wichtig ist und das Jabber nicht abdeckt?
Ich kann dir eins nennen, das aktuelle Jabber Clients nicht abdecken.
Ich möchte einen Multi-Protokoll IM der ähnlich wie CenterICQ/IM auf einem Server läuft zu dem man sich per Client konnektieren kann. Der Unterschied zu CenterICQ soll allerdings sein, das ein grafisches Frontend möglich ist (am besten Java, da ich mit verschiedenen Betriebsystemen zu tun habe).
Wenn ManuPs Projekt bereit ist diese Richtung einzuschlagen (lib purple, client/server, grafischer Java Client), würde ich die Sache unterstützen.
 

ManuP

Mitglied
Wir wollen natürlich auch einen Lerneffekt haben!
Nun ist es so, dass wir erst am Anfang von allem stehen und sich die klaren Absichten noch herausstellen müssen.

Bei mir ist es oft so, dass ich erst beim Entwickeln neue und gute Ideen bekomme.

Sinn dieses Threads war es ja nur, herauszufinden, ob eine Peer-To-Peer verbindung mit java (ohne dämliche Routereinstellungen) möglich ist. Ein Server dient dann nur als Index, wer online ist.

Wildcard hat gesagt.:
btw. Ich lasse mich nur ungern als Wildcat bezeichnen, das hat einen billig-porno touch :wink:

*g* stand ein bisschen unter stress. um 14 uhr hatte ich ne zweieinhalb stündige Elektrotechnik Klausur :)
 

chrgai

Mitglied
Moin zusammen.
Falls ihr das Projekt endgültig fest habt, und noch Hifle benötigt
wäre ich gerne bereit mit einzusteigen. Bei mir geht es dann auch
in erster Linie um den Lerneffekt.

/Christian
 
T

TJ

Gast
moin,
ich würde evtl. auch mit machen, interessiere mich für NWprogammierung. Habe eig. ein grosses wissen über NW technik, kann auch 4free testserver zur verfügung stellen..!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
LarsLovstrom ConcurrentHashMap in Java bei komplexen Objekten Netzwerkprogrammierung 2
D HTTP Apache-HttpClient/UNAVAILABLE (java 1.4) Netzwerkprogrammierung 18
M JAX-WS unter Java 17 plötzlich nicht mehr möglich Netzwerkprogrammierung 5
K Java RMI bricht ab wenn Remote eine Methode ausgeführt werden soll Netzwerkprogrammierung 5
M HTTP Let's Encrypt und Java Trust-Store Netzwerkprogrammierung 6
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
D path-Variablen in eine URL hinzufügen mit Java 1.8 Netzwerkprogrammierung 2
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
S Von Java auf passwortgeschützten Server zugreifen + Umgang mit Ports Netzwerkprogrammierung 28
S Probleme bei Java-Installation auf Server (Linux/Shell/Terminal) Netzwerkprogrammierung 6
S Java: Anbindung an einen realen Server? (+ Portfreigabe) Netzwerkprogrammierung 8
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
x46 Java SSLContext erstellen mit SSL-Zertifikat Netzwerkprogrammierung 1
P Jenkins Login per Java Download Manager Netzwerkprogrammierung 15
N Java socket Programmierung Filme verschicken Netzwerkprogrammierung 20
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
R Anfängerbeispiel: Suche Java-Anwendung die http-Anfragen in Tomcat liest Netzwerkprogrammierung 8
V Browsergame mit Java(WebSocketServer) als Backend? Netzwerkprogrammierung 5
platofan23 Socket Java Socket mit DynDns nicht erreichbar Netzwerkprogrammierung 6
S Fragen zu Java Webservice mit Axis2 Netzwerkprogrammierung 0
M Mit Java Mail Mails an Webmailer schicken Netzwerkprogrammierung 1
mor16Euro HTTP Php website mit Java aktualisiern Netzwerkprogrammierung 6
T HTTP JAVA Browser Konsolenanfrage(JavaScript) Netzwerkprogrammierung 7
L Socket Wie kann man in Java die Anzahl der Objekte in einem InputStream sehen ohne ihn durchgehen zu müssen Netzwerkprogrammierung 1
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
M Socket peer to peer Verbindung zwischen Java und Matlab Netzwerkprogrammierung 0
L Remote Desktop per Java steuern Netzwerkprogrammierung 4
F Server für Java Applikationen Netzwerkprogrammierung 16
J Webserver mit Java schreiben? Netzwerkprogrammierung 4
D JAVA RMI Netzwerkprogrammierung 1
K HTTP Mit Java HTML Codeauslesen um damit zu arbeiten Netzwerkprogrammierung 7
V Kann man mit Hilfe eines Java-Programms den Zugriff auf bestimmte Internetseiten verhinden? Netzwerkprogrammierung 3
J HTTP [Java 9] Neuer HTTP Client - Tutorial Netzwerkprogrammierung 3
T Mikrofonaudio über Java Server an Webbrowser streamen Netzwerkprogrammierung 13
A Bestimmter URL/Certificate per Java immer vertrauen (Trustmanager/HostnameVerifier) Netzwerkprogrammierung 1
T VPN-Verbindung über Java Netzwerkprogrammierung 4
M HTTP PATCH Request mit Java ausführen Netzwerkprogrammierung 2
Niggo_ Probleme mit Java Mail Netzwerkprogrammierung 14
Aruetiise Socket Java Programm auf Server Netzwerkprogrammierung 3
L FTP Java Interpreter unterbindet SSL Handshake Netzwerkprogrammierung 2
C IFrame mit java auslesen Netzwerkprogrammierung 1
A FTP wie kann ich von java auf datei in fpt://192.168.178.1 lesen/schreiben? Netzwerkprogrammierung 3
C Datensammlung mit Java RMI Netzwerkprogrammierung 0
K Java Jsoup : OnLoad Netzwerkprogrammierung 0
S Java Chat Server Netzwerkprogrammierung 8
Carres HTTP Vorhandenen Session-ID Cookie von Firefox, Chrome oder IE in Java verwenden Netzwerkprogrammierung 2
B Java+Grbl: G-Code Befehle mit Java an Arduino senden und lesen Netzwerkprogrammierung 1
Z HTTP HTML Element auslesen in Java Netzwerkprogrammierung 1
T Socket Java Programm hängt sich auf bei dem versuch von einem Socket scanner Daten zu erhalten. Netzwerkprogrammierung 1
Thallius HTTP HTTPS unter Java 1.6 schlägt fehl Netzwerkprogrammierung 4
Thallius Java Application über ZScaler benutzer? Netzwerkprogrammierung 0
P Chat in Java Netzwerkprogrammierung 3
C java.net.ConnectException: Operation timed out? Netzwerkprogrammierung 2
M Java Eingabe auf FTP Server übergeben Netzwerkprogrammierung 4
T curl request in java umwandeln Netzwerkprogrammierung 4
M Socket Java Server: NullPointerException Netzwerkprogrammierung 4
J Java Server empfängt php inhalt nicht Netzwerkprogrammierung 1
I Socket Kommunikation C / Java Netzwerkprogrammierung 2
H Machbarkeitsfrage: TCP/IP Client (z.B. Netty) für Java Web Applcation Netzwerkprogrammierung 1
L Java RMI Objekt konsistenz Netzwerkprogrammierung 1
H Portforwarding umgehen in Java? Netzwerkprogrammierung 5
D Response in Java Servlet erzeugen Netzwerkprogrammierung 0
X Mit Java eine Applikation auf einem anderen Windows Rechner (Windows Server 2008) starten Netzwerkprogrammierung 1
E HttpUrlConnectionExample cannot be resolved to a type / Java 8 Netzwerkprogrammierung 1
F Socket Java Server mit Android App, Antwort vom Server an App Netzwerkprogrammierung 5
M Java-Programm aus dem Web laden Netzwerkprogrammierung 3
S HTTP-Requeste von Browser mit Java sniffen? Netzwerkprogrammierung 9
J access denied (“java.net.SocketPermission”…) mit Java 8 Netzwerkprogrammierung 1
N CURL requests in Java Netzwerkprogrammierung 6
P Kritische Java-Anwendung und Citrix veröffentlichen Netzwerkprogrammierung 1
F Java Server Scanner oder InputStream kann nicht gelsesen werden! Netzwerkprogrammierung 6
1 Netty NIO oder Java IO Netzwerkprogrammierung 2
1 Via Java mit WLAN Netzwerken verbinden Netzwerkprogrammierung 5
J Java Service Wrapper Netzwerkprogrammierung 1
K Mit Java ASPX Webseite fern steuern Netzwerkprogrammierung 2
H Socket Java | Server sendet Nachricht nur wenn vorher eine JOptionPane-Nachricht ausgegeben wurde. Netzwerkprogrammierung 2
K Emailsenden via Java Applikation Netzwerkprogrammierung 5
L Mit Java über PHP in MySQL anmelden (Login script) Netzwerkprogrammierung 3
C Java Chat Admin Kenzeichnung Netzwerkprogrammierung 14
P PHP Script per Java ausführen Netzwerkprogrammierung 2
P PPTP Protokoll für JAVA Netzwerkprogrammierung 14
T php/java-bridge Netzwerkprogrammierung 16
D Webseite(mit JavaScript-Element) mit Java auslesen Netzwerkprogrammierung 0
G Multiple Clients and one Server --> java.lang.NullPointerException Netzwerkprogrammierung 1
E Java Server übers Internet erreichen Netzwerkprogrammierung 4
D Socket Error: java.lang.NullPointerException Netzwerkprogrammierung 1
windl AirPlay mittels Java Netzwerkprogrammierung 0
R Email mit Java API Netzwerkprogrammierung 1
P Java Deauth / Deauthentication request Netzwerkprogrammierung 10
F Socket Java - Server/Client simple Netzwerkprogrammierung 1
E HTTP java.lang.IllegalArgumentException: protocol = http host = null Netzwerkprogrammierung 1
R Java - Socketprogrammierung Netzwerkprogrammierung 10
B Methoden und Konstruktoren von Java.net package werden nicht geladen Netzwerkprogrammierung 2
L Email versenden mit Java funktioniert nicht, Fehlermeldungen: MessagingException & SocketException Netzwerkprogrammierung 10
V Templates für Java Client rabbitmq Netzwerkprogrammierung 4
N Socket java.net.ConnectException Netzwerkprogrammierung 5
A Java Server - IOS Client Applikation Netzwerkprogrammierung 20

Ähnliche Java Themen

Neue Themen


Oben