# problem mit server



## sartori (25. Sep 2006)

Hallo. jedes mal wenn ich mein Clientprogramm im Browser aufrufe dann kommt folgende fehlermeldung :

java.security.AccessControlException: access denied (java.net.SocketPermission 147.87.112.2:1234 connect,resolve)


Also das Clientprogramm befindet sich auf einer CP343-1IT von siemens und der Server lauft auf meinem PC. Die Ip nummer der CP ist 147.87.112.162 und die von meinem PC ist 147.87.112.2. Nun ich weiss nicht wo der Fehler sein kann.

Wenn es jemand interessiert hier sind beide Programme:

Client Programm:

import java.applet.Applet;
import java.awt.*;
import java.net.*;
import java.io.*;
import java.beans.*;

public class Clientprogramm extends Applet 
{
  int impuls;
  int meldung;

  public void uebergabe()
  {
    Socket server = null;
    try
    {
          System.out.println("verbindung 1");
      server = new Socket( "147.87.112.2", 1234 );
      InputStream in = server.getInputStream();
      OutputStream out = server.getOutputStream();
      out.write(impuls);
      out.write(meldung);
    }
    catch ( UnknownHostException e ) {
      e.printStackTrace();
    }
    catch ( IOException e ) {
      e.printStackTrace();
    }
    finally
    {
      if ( server != null )
        try { server.close(); } catch ( IOException e ) { e.printStackTrace(); }
    }
  }

  public void setImpuls (int sImpuls)
  {
    impuls=sImpuls;
    uebergabe();
    impuls=0;
    System.out.println("impuls"+impuls);
    System.out.println("meldung"+meldung);
  }

  public void setMeldung (int sMeldung)
  {
    meldung=sMeldung;
  }

  public void init()
  {
    Clientprogramm client = new Clientprogramm();
    client.setMeldung(1);
    client.setImpuls(1);
  }
}

Server Programm:

import java.io.*;
import java.util.Date;
import java.io.IOException;
import java.io.InputStream;
import java.iutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Serverprogramm
{
  String setEreignisse;
  static int meldung;
  int impuls;
  private final ServerSocket server;

  public Serverprogramm( int port ) throws IOException
  {
    server = new ServerSocket( port );
  }

  public static void main( String[] args ) throws IOException
  {
    Serverprogramm server = new Serverprogramm( 1234 );
    server.startServing();
  }

  private void startServing()
  {
    while ( true )
    {
      Socket client = null;
      try
      {
        client = server.accept();
        System.out.println("Verbindung accept !");
        handleConnection ( client );
      }
      catch ( IOException e ) {
        e.printStackTrace();
      }
      finally {
        if ( client != null )
          try { client.close(); } catch ( IOException e ) { e.printStackTrace(); }
      }
    }
  }
  private void handleConnection( Socket client ) throws IOException
  {
    InputStream  in  = client.getInputStream();
    OutputStream out = client.getOutputStream();
    impuls = in.read();
    meldung = in.read();
    if (impuls==1)
    {
      datenbank();
      schreiben();
      impuls=0;
      meldung=0;
    }
  }


  public void schreiben ()
  {
    Date date = new Date();
    try
    {
      FileWriter writer = new FileWriter("C:\\Logbuch2.txt",true);
      if (date.getDate()<10)
      {
        writer.write("0");
      }
      writer.write(date.getDate() + "." );
      if (date.getMonth()<9)
      {
        writer.write("0");
      }
      writer.write(1+date.getMonth() + "." );
      writer.write(1900 + date.getYear() +"  ");
      if (date.getHours()<10)
      {
        writer.write("0");
      }
      writer.write(date.getHours() + ":");
      if (date.getMinutes()<10)
      {
        writer.write("0");
      }
      writer.write(date.getMinutes() + ":");
      if (date.getSeconds()<10)
      {
        writer.write("0");
      }
      writer.write(date.getSeconds()+" ");



      writer.write("\tEreigniss: " + setEreignisse);

      writer.write("\r\n");
      writer.close();
    }catch(IOException e){}
  }

  public void datenbank()
  {
    String ereignisse [][] =
    {
      {"Bereit"},
      {"Gondel 1 fährt hinauf"},
      {"Gondel 1 fährt hinab"},
      {"Bergankunft Gondel 1"},
      {"Talankunft Gondel 1"},
      {"Überschreiten Geschwindigkeit 100%"},{""},{""},{""},
      {"Referenzieren"},{""},
      {"Gondel stoppt"},{""},{""},{""},{""},{""},{""},{""},{""},{""},
      {"Nothalt Tal gedrückt"},
      {"Nothalt Berg gedrückt"},
      {"Überschreiten Geschwindikteit 110%"},
      {"Wind zu stark"},
      {"Referenz fehlt"},
      {"Ausfall Frequenzumrichter"},
      {"Kabelbruch Nothalt Berg"},
      {"Kabelbruch Nothalt Tal"},
      {"Soll-Ist überwachung"},
      {"Überfahren des Regelhaltepunkt Gondel 1"},
      {"Überfahren des Regelhaltepunkt Gondel 2"},
    };

    setEreignisse=ereignisse[meldung][0];
  }


}


----------



## Murray (25. Sep 2006)

Ist Dein Applet signiert?


----------



## sartori (25. Sep 2006)

nein eben nicht...hab schon in den FAQ angeschaut wie dass funktionieren soll, aber ich verstehe dass nicht


----------

