# fertigen client-server-chat online stellen



## Brunnenfrosch (10. Jun 2007)

Ich habe mit Mühe und Not endlich einen Client-Server-Chat gemacht, der auch funktioniert.

Folgende Versuchsanordnungen funktionieren:
1. Den ServerSocket-Teil auf Port 23181 lauschen lassen
2. Mit dem Socket-Teil *- vom selben PC aus gestartet -* eine Verbindung aufbauen zu dem Port 23181 und:
    a) "localhost "
    b) "IP, die ich bei WinXP unter Netzwerkverbindungen unter 'Breitband' fand"
    c) "IP, die ich bei WinXP unter Netzwerkverbindungen unter 'LAN oder Hochgeschwindigkeitsinternet' fand"

Folgende Versuchsanordnungen funktionieren *nicht*:
1. In der Windows-Firewall unter Ausnahmen den Port 23181 zulassen.
2. Den Socket-Teil (der wie auch vorher von einem Applet aus gestartet wird) samt der einbindenen Seite uploaden
3. Den ServerSocket-Teil auf Port 23181 lauschen lassen
4. Mit dem Socket-Teil *- von der online-Seite aus gestartet-* eine Verbindung aufbauen zu dem Port 23181 und:
    a) "IP, die ich bei WinXP unter Netzwerkverbindungen unter 'Breitband' fand"
    b) "IP, die ich bei WinXP unter Netzwerkverbindungen unter 'LAN oder Hochgeschwindigkeitsinternet' fand"


Was mache ich falsch?


----------



## Wildcard (10. Jun 2007)

Exception?


----------



## Brunnenfrosch (10. Jun 2007)

Sorry, Wildcard, die hatte ich vor lauter Frust vergessen.
Der Output der Java-Konsole des ie6 im "online-versuch" ist:

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied (java.net.SocketPermission 84.61.116.76:23181 connect,resolve)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkConnect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at SBChatClient.<init>(SBChatClient.java:33)
	at ChatApp.actionPerformed(ChatApp.java:34)
	at java.awt.Button.processActionEvent(Unknown Source)
	at java.awt.Button.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)


----------



## Wildcard (10. Jun 2007)

Ein unsigniertes Applet darf sich nur zu dem Server verbinden von dem es geladen wurde.
Wenn das für deinen Fall nicht ausreicht musst du das Applet signieren -> FAQ


----------



## Brunnenfrosch (10. Jun 2007)

Wildcard, das war ein sehr guter Tip. Ich hab in den faqs sogar eine fertige BATCH-Datei gefunden, um meinen kram zu signieren. Offengestanden hab ich zwar nicht ganz verstanden, was da genau passiert, aber es funzt.

Vielen, vielen Dank!


----------

