Socket Browser wirft FM aus

Alex2013

Bekanntes Mitglied
Hi Leute,

ich wollte heute mal ein kleines Applet schreiben und bin auch fertig.
Ich habe nun schon drei mal alle drei Klassen und einige Male das HTML Textdokument überprüft.
Hier scheinen keine Fehler vorhanden zu sein.
Allerdings wirft mir der Mozilla Browser ebenso wie Chrome folgende FM aus:



Anwendung durch Sicherheitseinstellungen blockiert
Name: ChatApplet
Verzeichnis: file://
Ihr Sicherheitseinstellungen haben die Ausführung einer lokalen Anwendung blockiert


Ich hoffe ihr könnt mir sagen welche Sicherheitseinstellung ich wie umändern muss, damit das applet funktioniert.
Ich habe gerade schon ein paar Einstellungen vorgenommen und etwas geändert, aber dadurch hat die Anwendung trotzdem noch nicht funktioniert.
Ich wäre euch echt dankbar, wenn ihr mir einen Tipp geben könntet, wo ich was umstellen oder ändern muss, damit es funktioniert.

Danke! :)

Lg
 
Zuletzt bearbeitet:

fischefr

Aktives Mitglied
Wie wärs, wenn du uns erst mal verrätst, was das Applet genau macht? Vom Namen leite ich ab, dass es ums chatten geht. Allerdings gibts bei java die sogenannte Sandbox, die verhindert, dass unsignierte Applets gewissen Funktionalitäten verwenden. So darf z.B. ein unsigniertes Applet nicht jeden x-beliebigen Server kontaktieren. Du müsstest also etwas konkreter werden, damit man sagen kann, ob das mit deinem Problem etwas zu tun haben könnte.
 

Alex2013

Bekanntes Mitglied
Hi,

tut mir leid, dass ich erst jetzt antworte. Ich hatte viel zu tun in den letzten Wochen.

Ich schicke dir einfach mal den Code. Vielleicht siehst du da ja etwas.

Hier der Code:
Java:
[code]
//Talkserver
//import java.io.IOException;
//import java.net.ServerSocket;
//import java.net.Socket;
import java.net.*;
import java.io.*;

public class TalkServer 
{
	public static void main(String [] args)
	{
		//Die Sockets werden deklariert
		Socket c1,c2;
		//Argumente prüfen
		if(args.length==1)
		{
			//Port bestimmen
			int port=Integer.parseInt(args[0]);
			try
			{
				//Socket initialisieren
				ServerSocket server=new ServerSocket(port);
				System.out.println("Server läuft");
				
				while (true)
				{
					//Für zwei CLients eine Verbindung erstellen
					c1=server.accept();
					c2=server.accept();
					//und zwei Threads starten
					new TalkDienst(c1,c2).start();
					new TalkDienst(c2,c1).start();
				}
			}
			catch(IOException e)
			{
				e.printStackTrace();
			}
		}
		else
		{
			System.out.println("Aufruf: java Talkserver <Portnummer>");
		}
	}
}
[/code]

Java:
[code]
//Talkdienst
//import java.io.BufferedReader;
//import java.io.IOException;
//import java.io.InputStreamReader;
//import java.io.OutputStream;
//import java.io.PrintWriter;
//import java.net.Socket;
import java.net.*;
import java.io.*;


public class TalkDienst extends Thread
{
	//die socketdeklarationen
	Socket c1,c2; //für die zwei CLients
	/*static*/ BufferedReader in;//eingabe zu clients
	/*static*/ PrintWriter out;//ausgabe zu clients
	
	public TalkDienst(Socket sin, Socket sout) 
	{
		//werden in den instanzvariabeln gespeichert
		c1=sin;
		c2=sout;
		try
		{
			in=new BufferedReader(new InputStreamReader(c1.getInputStream()));
			
			out=new PrintWriter(c2.getOutputStream(),true);
			out.println("Chatpartner gefunden, es kann losgehen!");
		}
		catch(IOException e)
		{}
	}
	
	public void run()
	{
		String line;
		try
		{
			while (true)
			{
				line=in.readLine();
				if(line!=null)
					out.println(line);
				try
				{
					Thread.sleep(10);
				}
				catch(InterruptedException e){break;}
			}
		}
		catch(IOException e)
		{
			System.out.println("Fehler: "+e);
		}
	}
}
[/code]

Java:
[code]
//Chat
//import java.awt.Color;
//import java.awt.Container;
//import java.awt.Dimension;
//import java.awt.GridLayout;
//import java.awt.Toolkit;
//import java.awt.event.ActionEvent;
//import java.awt.event.ActionListener;
//import java.io.BufferedReader;
//import java.io.IOException;
//import java.io.InputStreamReader;
//import java.io.PrintWriter;
//import java.net.Socket;
//
//import javax.swing.JApplet;
//import javax.swing.JScrollPane;
//import javax.swing.JTextArea;
//import javax.swing.JTextField;

import javax.swing.*;
import java.net.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;

public class Chat extends JApplet implements Runnable
{
	private static final long serialVersionUID = 1L;
	public static final int PORT=7654;
	JTextField tf1;
	JTextArea ta;
	JScrollPane p1;
	Dimension d;
	Container c;
	Socket socket;
	BufferedReader in;
	PrintWriter out;
	String newline="\n";
	boolean running;
	
	public void init() 
	{
		c=getContentPane();
		EingabeListener eingabe=new EingabeListener();
		tf1=new JTextField();
		tf1.addActionListener(eingabe);
		tf1.setBackground(Color.WHITE);
		ta=new JTextArea();
		ta.setBackground(Color.WHITE);
		ta.setEditable(false);
		ta.setLineWrap(true);
		ta.setWrapStyleWord(true);
		p1=new JScrollPane();
		c.add(tf1);
		c.add(ta);
		c.add(p1);
		try
		{
			socket=new Socket(this.getCodeBase().getHost(),PORT);
			in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
			out=new PrintWriter(socket.getOutputStream(),true);
			say("Verbindung hergestellt");
			say("Warte auf Partner");
		}
		catch(IOException e)
		{
			say("Verbindunf fehlgeschlagen");
			System.exit(1);
		}
		running=true;
		new Thread(this).start();
		//setVisible(true);
	}
	
	public void destroy()
	{
		running=false;
		try
		{
			socket.close();
		}
		catch(IOException e){}
	}
	
	public void run()
	{
		String line;
		try
		{
			while (running)
			{
				line=in.readLine();
				if(line!=null)
				{
					ta.append(line+'\n');
					ta.setCaretPosition(ta.getText().length());
				}
				try
				{
					Thread.sleep(10);
				}
				catch(InterruptedException e){break;}
			}
		}
		catch(IOException e)
		{
			say("Verbindung zum Server abgebrochen");
		}
	}
	
	class EingabeListener implements ActionListener
	{

		@Override
		public void actionPerformed(ActionEvent e) 
		{
			String text=tf1.getText();
			ta.append("<<"+text+"\n");
			ta.setCaretPosition(ta.getText().length());
			tf1.selectAll();
			out.println(">>"+text);
		}
	}
	
	public void say(String msg)
	{
		ta.append(""+msg+" \n");
	}
}
[/code]

Das ist der komplette Code. Ich hoffe das reicht aus um mir zu sagen, wo sich der Fehler befinden könnte bzw. wo sich der Fehler befindet.

Lg
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T HTTP JAVA Browser Konsolenanfrage(JavaScript) Netzwerkprogrammierung 7
H HTTP Browser-Abrdruck verstehen? Netzwerkprogrammierung 5
Z getInputStream() - Ihr Browser ist veraltet Netzwerkprogrammierung 13
M Erstelltes Programm über Internet Browser ausführen Netzwerkprogrammierung 26
J HTTP Befehl via HTTP senden ohne Browser öffnen Netzwerkprogrammierung 3
Thallius Browser Session selbst gemacht? Netzwerkprogrammierung 3
S HTTP-Requeste von Browser mit Java sniffen? Netzwerkprogrammierung 9
D Exakten Browser-Call simulieren Netzwerkprogrammierung 6
J Browser Seite im gleichen Tab Netzwerkprogrammierung 2
S Bild-Datei von Servlet an Browser senden Netzwerkprogrammierung 8
J Browser-String angeben Netzwerkprogrammierung 5
R Netzwerkspiel im Browser spielbar machen Netzwerkprogrammierung 4
M HTTP response code: 401 ; ?aber im browser ist es abrufbar? Netzwerkprogrammierung 5
P Java Web-Browser Netzwerkprogrammierung 5
S Verbindungen der Browser ermitteln? Netzwerkprogrammierung 9
F Browser identifikation mit .openStream()? Netzwerkprogrammierung 3
T Browser "emulieren" Netzwerkprogrammierung 10
M Download-Manager in System/Browser einbinden Netzwerkprogrammierung 11
W url.openStream() wirft javax.net.ssl.SSLHandshakeException Netzwerkprogrammierung 8
K Socket Netty Client wirft Fehler! Netzwerkprogrammierung 3
D Socket Socket absichtlich so schließen, dass Gegenseite java.net.SocketException: Connection reset wirft Netzwerkprogrammierung 4
C ObjectInputReader wirft beim zweiten Aufruf eine Exception Netzwerkprogrammierung 3
M BufferedInputStream.Read wirft SocketException auf gültigem Socket Netzwerkprogrammierung 7
X RMI: Client wirft NotBoundException Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben