anwendung für win und mac

Status
Nicht offen für weitere Antworten.
N

noobster

Gast
Hallo, ich bin noch ein ziemlicher anfänger was java angeht würde jedoch gerne eine Anwendung für Windows UND macintoch OS erstellen.

Soweit so gut, meine erste kleine Testanwendung läuft schonmal prima, auch wenn es nur ein popliger multithreaded Socketserver aus einem Sun tutorial ist, der mit flash kommuniziert aber er läuft zumindes schonmal ( ich weiss zwar noch nicht wie ich ne exe oder jar draus mache aber sie läuft unter eclipse, für euch nicht viel für mich ein sonnenaufgang am Morgen, ... entschuldigung ich schweife ab.).

Soo nun mein Problem:
Da ich mich auf macintoch gar nicht auskenne wollte ich fragen ob es ausser den "vermutlich" anderen Pfadangaben für Dateien noch etwas anderes beachten muss, was zum Beispiel sicherheit betrifft, errechbarkeit, eingeschränkte funktionen oder...

Zu der Anwendung ansich. der user wird sie von sich aus installieren, es soll sozusagen das backend zu einer flash GUI darstellen mit zugriff auf dateisystem und soll die protokolle pop3, smtp sowie ftp implementieren und auf eine lokale mysql db zugreifen können(nur als info).

Es wäre nett wenn jemand eine antowort oder einen link hätte, das googlen hat mich bisher nicht wirklich weiter gebracht.

Gruss Sascha

ps. eine zusatzfrage noch.... ich hab bei dem socketserver festgetsellt wenn ich den gesendeten stream nicht nullbyte terminiere hängt sich der server auf, bisher hab ich nichts wie onTrap oder onError gefunden, gibt es da einen hack?
 

foobar

Top Contributor
ps. eine zusatzfrage noch.... ich hab bei dem socketserver festgetsellt wenn ich den gesendeten stream nicht nullbyte terminiere hängt sich der server auf, bisher hab ich nichts wie onTrap oder onError gefunden, gibt es da einen hack?

Poste mal etwas Code. Was für eine Eception fliegt denn?
 
N

noobster

Gast
hi ,

Code:
Code:
import java.awt.Color;
import java.awt.BorderLayout;
import java.awt.event.*;
import javax.swing.*;

import java.io.*;
import java.net.*;
import java.lang.String;

class ClientWorker implements Runnable {
  private Socket client;
  private JTextArea textArea;
  
  ClientWorker(Socket client, JTextArea textArea) {
   this.client = client;
   this.textArea = textArea;   
  }
  public String escape(String myName)
	{
		return escape(myName);
	}
	
  public void run(){
    String line;
    BufferedReader in = null;
    PrintWriter out = null;//kill outputstream if exists as object b4
    try{
      in = new BufferedReader(new InputStreamReader(client.getInputStream()));
      out = new PrintWriter(client.getOutputStream(), true);//define  "out" as outputstreamobject
    } catch (IOException e) {
      System.out.println("in or out failed");
      System.exit(-1);
    }

    while(true){
      try{
        line = in.readLine();
//Send data back to client
       if (line == "saveFile") {
    	   //byte[] lineAsBytes = line.getBytes("ASCII");
        	out.println(line + "yes\n\0" );
        	textArea.append(line);
       } else {
    	   //byte[] lineAsBytes = line.getBytes("ASCII");
       	out.println(line + "_\n\0" );
     	textArea.append(line);
        }
       } catch (IOException e) {
         System.out.println("Read failed");
         System.exit(-1);
       }
    }
  }
}

class SocketThrdServer extends JFrame{

   JLabel label = new JLabel("Text received over socket:");
   JPanel panel;
   JTextArea textArea = new JTextArea();
   ServerSocket server = null;

   SocketThrdServer(){ //Begin Constructor
     panel = new JPanel();
     panel.setLayout(new BorderLayout());
     panel.setBackground(Color.white);
     getContentPane().add(panel);
     panel.add("North", label);
     panel.add("Center", textArea);
   } //End Constructor

  public void listenSocket(){
    try{
      server = new ServerSocket(4444); 
    } catch (IOException e) {
      System.out.println("Could not listen on port 4444");
      System.exit(-1);
    }
    while(true){
      ClientWorker w;
      try{
        w = new ClientWorker(server.accept(), textArea);
        Thread t = new Thread(w);
        t.start();
      } catch (IOException e) {
        System.out.println("Accept failed: 4444");
        System.exit(-1);
      }
    }
  }

  protected void finalize(){
//Objects created in run method are finalized when 
//program terminates and thread exits
     try{
        server.close();
    } catch (IOException e) {
        System.out.println("Could not close socket");
        System.exit(-1);
    }
  }

  public static void main(String[] args){
        SocketThrdServer frame = new SocketThrdServer();
	frame.setTitle("Server Program");
        WindowListener l = new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                        System.exit(0);
                }
        };
        frame.addWindowListener(l);
        frame.pack();
        frame.setVisible(true);
        frame.listenSocket();
  }
}

wie du an den auskomentierten stellen siehst hab ich schonmal weiter gemacht...

1) das Problem ist wenn ich nun zum server connecte und beim senden der Daten aus flash herraus kein "\n\0" anhänge wird der Stream anscheinend Serverseitig nicht Terminiert, der inhalt des serverfensters wird ganz weiss (also die überschrift verschwindet)...

wäre ja nun so gesehen nicht das problem da ich das weiss aber selbiges prolem habe ich dann auch hin und wieder wenn ich den client einfach ausschalte ohne die socket zu closen.


2) ich hab noch ein Problem, du siehst ja oben die if abfrage :

Code:
//Send data back to client
       if (line == "saveFile") {
    	   //byte[] lineAsBytes = line.getBytes("ASCII");
        	out.println(line + "_true\n\0" );
        	textArea.append(line);
       } else {
    	   //byte[] lineAsBytes = line.getBytes("ASCII");
       	out.println(line + "_false\n\0" );
     	textArea.append(line);
        }

ich bekomme da immer obwohl ich "saveFile"+"\n\0" hinsende immer ein false, ich nehme mal an das es an den angehängten \n\0 liegt, wie kann ich mir den ascii code der zeichen im gesendeten String ansehen? in javascript würde ich escape(); iund in php urlencode(); nehmen , was gibts da in java ich suche schon stunden, die auskomtierte zeile in der if abfrage hat nicht gefunzt, abei kam nur mist raus.

danke schonmal
 

Murray

Top Contributor
Zum 2.Problem:
1. Whitespace kamm vor dem Vergelichen mit String#trim entfernen
2. Strings immer mit equals vergleichen, == prüft auf Objekt-Identität und das ist bei zwei gleichen String-Objekten nicht notwendigerweise gegeben

Code:
if (line.trim().equals( "saveFile")) { 
  /* ... */
}
 
N

noobster

Gast
hey danke das war das andere Problem was ich hatte, ich sollte mir die einzelnen befehle unter java doch genauer ansehen, in anderen sprachen ists anders rum. ich such mir seit stunden nen wolf und dachte schon es läge an den angehängten \n\0.:D

aber der server hängt sich trotzdem spätestens dann auf wenn der client die conection verliert (ausgeschaltet wird oder user geht offline) wenn die socket ordentlich geclosed wird ist das alles kein problem aber nicht immer ist alles ideal, falls also nochjemand etwas mehr hierzu oder der eigentlichen frage weiss, wäre ich sehr dankbar.

danke nochmal
Grüsse
 

Leroy42

Top Contributor
Soweit ich weiß, wird beim Server eine Exception geworfen wenn die
Verbindung unterbrochen wird.

Fängst du die (beim Server) ab?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Start-Activity für Java Maven Web-Anwendung festlegen Java Basics - Anfänger-Themen 2
A Testprogramm in java oder javascript für Windows Anwendung? Java Basics - Anfänger-Themen 1
DStrohma Best Practice Hibernate für kleine Anwendung nutzen? Java Basics - Anfänger-Themen 4
H Erste Schritte 2 User Interfaces für eine Anwendung Java Basics - Anfänger-Themen 7
J GUI für Java-Anwendung erzeugen Java Basics - Anfänger-Themen 7
P Interfaces -> eins oder mehrere für eine Anwendung? Java Basics - Anfänger-Themen 9
F u.a. Ressourcen begrenzung für Java-Anwendung Java Basics - Anfänger-Themen 5
L "Standartcode" für eine GUI-Anwendung?? Java Basics - Anfänger-Themen 5
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
A JavaFX-Anwendung läuft nicht mit Selenium WebDriver Java Basics - Anfänger-Themen 0
K Mail senden, nachdem Anwendung beendet wurde (gleich wie) Java Basics - Anfänger-Themen 4
P Best Practice Druck aus Java Anwendung in MacOs Java Basics - Anfänger-Themen 0
J Was mache ich falsch in meiner Java Anwendung? Java Basics - Anfänger-Themen 11
I Java Anwendung auf Android portieren Java Basics - Anfänger-Themen 1
I Java FX GUI Anwendung Java Basics - Anfänger-Themen 30
F Mehrere Server Sockets in einer Anwendung Java Basics - Anfänger-Themen 9
G MapStruct Anwendung vom selbst geschriebenen Formater Java Basics - Anfänger-Themen 4
J Aktuelle Zeit in einer JavaFX Anwendung aktualisieren lassen Java Basics - Anfänger-Themen 4
S If Anwendung Java Basics - Anfänger-Themen 1
2 Verständnisproblem bei Anwendung von Lower Bounded Wildcards Java Basics - Anfänger-Themen 5
J Datentypen Anwendung von String contains Java Basics - Anfänger-Themen 4
P Klassen Richtige Anwendung einer Enum-Klasse Java Basics - Anfänger-Themen 11
R If anwendung funktioniert nicht Java Basics - Anfänger-Themen 3
W Verschiedene Bibliotheken in einer Anwendung? Java Basics - Anfänger-Themen 2
GENiALi Java Console Anwendung starten in Prozess Java Basics - Anfänger-Themen 3
K Objekt soll Anwendung über Änderungen informieren Java Basics - Anfänger-Themen 8
S JUnit - Swing- Anwendung wird nicht neu gestartet Java Basics - Anfänger-Themen 0
R Best Practice Problem Anwendung umzusetzen Java Basics - Anfänger-Themen 2
S Paint Anwendung: Freihandlinien zeichnen Java Basics - Anfänger-Themen 4
S Anwendung Startet nur in Vergangenheit Java Basics - Anfänger-Themen 11
S Erste Schritte drawOval Problem in Paint Anwendung Java Basics - Anfänger-Themen 1
C Java-Anwendung im Browser zoomen Java Basics - Anfänger-Themen 1
C Anwendung generischer Typparamter auf ArrayList Java Basics - Anfänger-Themen 2
I Externes konsolen Anwendung (.exe) starten Java Basics - Anfänger-Themen 2
E Classpath SecSigner in WebStart-Anwendung Java Basics - Anfänger-Themen 3
N Best Practice Stilistische Anwendung von if/else-Abfragen Java Basics - Anfänger-Themen 7
E mit java-anwendung internet verbindung unterbrechen Java Basics - Anfänger-Themen 5
L Verbindung von Anwendung mit GUI Java Basics - Anfänger-Themen 6
W Rekursion Anwendung Java Basics - Anfänger-Themen 16
FreeFun Java Anwendung beenden Java Basics - Anfänger-Themen 7
S Reale Anwendung der OOP Java Basics - Anfänger-Themen 33
B Seltsamer Fehler in SWING anwendung Java Basics - Anfänger-Themen 2
M Anwendung Schreibrechte geben Java Basics - Anfänger-Themen 13
M Anwendung als Webstart ausführen Java Basics - Anfänger-Themen 4
G Erste Schritte von Eclipse zur Anwendung: Programme auf anderen Rechnern zum Laufen bringen Java Basics - Anfänger-Themen 4
M Anwendung in verschiedenen JREs Java Basics - Anfänger-Themen 42
A Hilfe bei Anwendung erstellen Java Basics - Anfänger-Themen 2
U Rechte bei JAVA-Anwendung? Java Basics - Anfänger-Themen 8
JAVAnnik Anwendung nach Schließen vom letzen Frame Java Basics - Anfänger-Themen 9
C Mit Java Textfeld einer externen Anwendung auslesen Java Basics - Anfänger-Themen 9
L Benutzerdefinierte Anwendung starten Java Basics - Anfänger-Themen 5
S KeyListener-Anwendung Java Basics - Anfänger-Themen 7
Steve5000 Externe Batch-Datei starten und anwendung beenden?! Java Basics - Anfänger-Themen 4
StrikeTom Problem mit regex(-anwendung) Java Basics - Anfänger-Themen 10
D Frage zu Collection und deren Anwendung Java Basics - Anfänger-Themen 2
P Java Anwendung mit mehr RAM starten?? Java Basics - Anfänger-Themen 5
N Favicon in meiner Anwendung Java Basics - Anfänger-Themen 9
Error257 Doppelklick-Anwendung Java Basics - Anfänger-Themen 6
A JBoss-Anwendung soll im Singleton-Mode laufen Java Basics - Anfänger-Themen 6
Dit_ invokeLater | richtige Anwendung Java Basics - Anfänger-Themen 2
H Datei einlesen in einer MVC Anwendung Java Basics - Anfänger-Themen 3
B JavaWebStart - Anwendung läuft nur auf einem Rechner Java Basics - Anfänger-Themen 6
M MergeSort - Threads in Anwendung bremsen alles! Java Basics - Anfänger-Themen 4
C0FFEE Anwendung soll eigenen Dateinamen referenzieren Java Basics - Anfänger-Themen 13
Dit_ Collections.sort(..); | Anwendung Java Basics - Anfänger-Themen 4
D Das Ausführen einer Java Anwendung auf versch Systemen... Java Basics - Anfänger-Themen 5
X Konfiguration einer Anwendung aus mehreren Dateien Java Basics - Anfänger-Themen 11
K JAVA-Anwendung startet nicht Java Basics - Anfänger-Themen 7
P Output einer anderen Anwendung verwenden Java Basics - Anfänger-Themen 7
M (Sub-)Anwendung schließen aus JMenu Java Basics - Anfänger-Themen 6
A Aufruf einer externen schon laufenden Anwendung Java Basics - Anfänger-Themen 3
harrli Markierten Text einer anderen Anwendung ermitteln Java Basics - Anfänger-Themen 10
Y Preferences / Properties Anwendung plattformunabhängig Java Basics - Anfänger-Themen 4
B Java-Anwendung im Windows Design Java Basics - Anfänger-Themen 8
G Polymorphismus und die richtige Anwendung Java Basics - Anfänger-Themen 6
J java anwendung starten - wie? Java Basics - Anfänger-Themen 7
M Handy Java Anwendung Java Basics - Anfänger-Themen 8
D Beim Schließen eines Dialogs die Ganze Anwendung schließen ? Java Basics - Anfänger-Themen 7
T Desktop Anwendung Aufbau Java Basics - Anfänger-Themen 5
G Bild von Anwendung Java Basics - Anfänger-Themen 3
E Problem mit der parallelen Anwendung Java Basics - Anfänger-Themen 11
J Anwendung von "this" Java Basics - Anfänger-Themen 4
N Fenster einer anderen Anwendung resizen? Java Basics - Anfänger-Themen 2
M Swing Anwendung - boolean schaltet automatisch auf true Java Basics - Anfänger-Themen 2
G Mehrsprachenfähigkeit in eine Anwendung integrieren Java Basics - Anfänger-Themen 2
Q Anwendung eines JScrollPane Java Basics - Anfänger-Themen 2
A java-anwendung ohne jre starten Java Basics - Anfänger-Themen 8
G Version von Anwendung mit Eclipse oder anders festlegen Java Basics - Anfänger-Themen 8
D html in einer java-anwendung Java Basics - Anfänger-Themen 10
G Anwendung von try-catch Java Basics - Anfänger-Themen 10
G Anwendung beendet nicht. Java Basics - Anfänger-Themen 5
T Anwendung von Interfaces Java Basics - Anfänger-Themen 2
R Java als Anwendung Java Basics - Anfänger-Themen 6
G Anwendung findet vorhandene Klasse nicht Java Basics - Anfänger-Themen 4
T Wie ausführbare Anwendung erstellen Java Basics - Anfänger-Themen 2
G Hilfer zur einer Anwendung soll HTML Datei öffnen Java Basics - Anfänger-Themen 4
A Kommunikation Java-Anwendung <-> Java-Applet Java Basics - Anfänger-Themen 24
G Datum und Text in jede beliebige Anwendung einfügen Java Basics - Anfänger-Themen 3
ven000m Wieso antwortet mein Server nicht mehr (Socket Anwendung) Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben