Chatprogramm

Status
Nicht offen für weitere Antworten.

joschika77

Bekanntes Mitglied
Hallo.

Kann jemand helfen?
Wie kann man vom eigenen Rechner die IP auslesen und ins Textfeld legen?

Und dann würde ich gern wissen wie man sowas im Chat realisiert:
Also ich habe ein Cliet und einen Serverprogramm.
Der Textaustausch funktioniert.
Wie kann ich wenn der Server gestartet ist am Client automatisch erkennen wecher Server erreichbar ist?
Helft mir?

Gruß Ronn
 

joschika77

Bekanntes Mitglied
Also die IP hab ich.

Code:
String host = InetAddress.getLocalHost().toString();
int a = host.length();
String hostip = host.substring(6,a);

Nun fehlt nur noch das andere.
Geht da überhaupt?

Gruß Ronn
 

LastUnicorn

Aktives Mitglied
also mir fällt da nur ein, dass du ne Serverliste brauchst. Jede Server IP in n Textfile und diese ständig mit anderen evt. Servern synchronisieren (wie bei einem grossen Filesharing Programm). Und dann können die Clients so ein Teil hernehmen, parsen und kucken ob der Server erreichbar ist
 

joschika77

Bekanntes Mitglied
Die IP Adresse habe ich jetzt.
Das ist aber die Netzwerk IP.(LAN)
Ich habe jetzt zu Hause dazu noch eine Internetverbindung(DSL).
Wie bekommt man die IP aus dem System ausgelesen?
Also mit dem oberen Beispiel nimmt er sich die Netzwerk IP.

MfG Ronn
 

lhein

Top Contributor
Wie schauts eigentlich mit Broadcasts aus ? Hat jemand mit sowas Erfahrung?
Im LAN will man ja nicht ständig den Server eintragen oder in einer Datei vorrätig haben.

Erinner mich da an z.B. PonyChat, was auch ohne Servereintrag klargekommen ist. Der erste der das Programm im Netz startet ist automatisch der Server und alle anderen die danach kommen finden den Server automatisch (über Broadcasting?).

Wie das von statten geht weiss ich allerdings nicht. Wär mal interessant zu wissen, auch wenn es nicht unbedingt hier passt.

LR
 

Anubis

Bekanntes Mitglied
Vielen dank für den Code, Ich arbeite selber an einem Server-Basierenden Chatprogramm, und bei mir musste man die Eigene IP selber angeben. Jetzt nur noch Server-IP und Nickname
:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
 

ypser

Mitglied
//ermittle alle IPs

Enumeration netInter = NetworkInterface.getNetworkInterfaces();
int n = 0;
while (netInter.hasMoreElements ())
{
NetworkInterface ni = (NetworkInterface) netInter.nextElement(); //(NetworkInterface)Typumwandlung erzwingen
System.out.println( "NetworkInterface " + n++ + ": " + ni.getDisplayName());

Enumeration addresses = ni.getInetAddresses();
while (addresses.hasMoreElements())
{
Object o = addresses.nextElement();
if (o.getClass() == InetAddress.class ||
o.getClass() == Inet4Address.class ||
o.getClass() == Inet6Address.class)
{
InetAddress iaddress = (InetAddress) o;

IP = (String)iaddress.getHostAddress();
}
}
}

ipAddr = IP;
System.out.println(ipAddr);



Bist du mit Internet verbunden, erhäst du die I-Net IP
Bist du nicht verbunden erhäst du die lokale IP
 

jobu0101

Bekanntes Mitglied
Mal ne generelle Frage zu einem Chatprogramm.

Wie wird das eigentlich realisiert?

Denn man sollte ja möglichst sofort die Nachricht bekommen? Wird da immer jeder zehntel Sekunde nachgefragt oder wie läuft das?
 
G

Gast

Gast
Nö, der Server weiß ja, wenn eine Nachricht eingeht und verschickt sie dann an die anderen Clients.
 

jobu0101

Bekanntes Mitglied
Gast hat gesagt.:
Nö, der Server weiß ja, wenn eine Nachricht eingeht und verschickt sie dann an die anderen Clients.

Wie soll denn das funktionieren? Dazu müsste der Client doch vorher nachfragen. Denn die Verbindung baut ja immer der Client auf.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben