# Testprogramm



## Hellboy256 (31. Mrz 2012)

Also ich hab ein kleines Netzwerkprogramm zuer Uebung geschrieben. Das Programm besteht aus Server und Client anwendung. Das ganze funktioniert so, dass das Serverprogramm auf mehreren Rechnern laeuft die auf eine Anfrage von einem Client warten. Der Client schickt eine Nachricht an die Server und gibt die Server der Reihenfolge nach aus.
Leider hab ich jedoch nur einen Rechner zur verfuegung kann ich darauf das ganze vlt testen ob es auch so funktioniert (mehrere Server...)?


----------



## Marcinek (31. Mrz 2012)

Du kannst ja das Programm mehrfach starten auf einem Rechner mit unterschiedlichen Ports.


----------



## irgendjemand (31. Mrz 2012)

hmm ... hört sich für mich nach unicast / broadcast an ... ergo sollte es keine probleme geben


----------



## Hellboy256 (9. Apr 2012)

Wenn ich das Programm aber auf der selben maschine mehrmals laufen lasse wie verschiecke ich dann eine Nachricht ueber Broadcast??
Das Interface 127.0.0.1 hat doch keinen Broadcast channel??


----------



## Hellboy256 (10. Apr 2012)

Ok habs jetzt mit virtuellen Ip's geloest:

```
ifconfig eth0:0 192.168.1.100
ifconfig eth0:1 ...
```

Nur funktioniert es noch nicht richtig, die Nachricht wird zwar vom Client ueber den Broadcast channel geschickt (192.168.1.255) aber den Server erreicht sie nicht??
Das Socket des Servers hab ich jetzt so an eine IP/Interface gebunden:

```
DatagramSocket dgs = new DatagramSocket(port, InetAddress.getByName("192.168.1.100"));
```

weis vlt wer worans liegt?


----------



## irgendjemand (11. Apr 2012)

@TO
schau dir mal "UNICAST" an ...
gibt dazu auch eine seite im sun-tutorial ... also bitte selbst nach googlen

*persönlich verwende ich UNICAST nur innerhalb eines LAN damit das spiel den server findet ... im unicast stecken dann infos für den client um sich direkt zum server zu verbinden ...
im "public" regelt dies bei mir ein lobby-server*


----------



## dayaftereh (11. Apr 2012)

Nutzt du TCP oder UDP? Weil bei TCP kannst du immer nur einen Server starten aber n viele Clients auf einem Rechner, da der Server immer auf einem Port hört und diesen dann für sich Reserviert. Bei UDP bin ich mir nicht sicher, aber ich glaube mehrere können auf einem Port hören.


----------



## Marcinek (11. Apr 2012)

dayaftereh hat gesagt.:


> Nutzt du TCP oder UDP? Weil bei TCP kannst du immer nur einen Server starten aber n viele Clients auf einem Rechner, da der Server immer auf einem Port hört und diesen dann für sich Reserviert. Bei UDP bin ich mir nicht sicher, aber ich glaube mehrere können auf einem Port hören.



Nein ;D Der Unterschied ist nur, dass UDP verbindungsloses und TCP ein verbindungsorientiertes Protokoll ist.


----------

