Zum Inhalt springen

speedi

Mitglieder
  • Gesamte Inhalte

    813
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von speedi

  1. speedi

    reconnect für Server

    deine Schleife schaut eigetlich ganz gut aus. Du wie es aussieht, hast du in deiner while()-Schleife keinerlei Anweisungen die längere Zeit dauern, so dass der ziemlich sofort nach der Verbindungsannahme wieder eine neue Verbindung angenommen werden kann. Allderdings solltest du in der while-Schleife alles ins try{...} reinschreiben. Denn überlege dir was passiert wenn während clientSock = serverSock.accept(); ein Fehler auftritt. Dann ist clientSock null bei ((ClientConnectionInterface)sendThread).setClientSocket(clientSock); Wenn die aber alles im try{...} hast kommt diese Zeile gar nicht erst zur Ausführung. Wieso soll dein Objekt in der Schleife kein Thread sein? Immerhin castest du doch auf Thread? ((Thread)sendThread).start(); Oder meinst du dass das Interface(ClientConnectionInterface), dem die dynamisch geladene Klasse entsprechen soll nicht zwangsläufig erfordert dass es ein Thread ist? Das könntest du umgehen indem du in deinem Interface eine "run"-Methode festlegst und dann in der Schleife so etwas machst: while (! interrupted()){ try { clientSock = serverSock.accept(); final Object sendThread = loadClass("ClientConnectionTCP"); ((ClientConnectionInterface)sendThread).setClientSocket(clientSock); ((ClientConnectionInterface)sendThread).setMap(m_Map); new Thread(){ public void run(){ ((ClientConnectionInterface)sendThread).run(); } }.start(); } catch (IOException e2) { System.out.println(e2 + " <<< FEHLER"); } } Dann wäre dein sendThread zwar keine eigene Klasse, aber seine run-Methode läuft in einem eigenen Thread.
  2. speedi

    reconnect für Server

    Ich kenne leider die Architektur deiner Software nicht aber ich gehe mal davon aus du befindest dich was Socket-Programmierung angeht noch in der lernphase. Wenn die Verbindung abreißt bekommst du beim lesen des InputStreams vom Socket eine Exception. Wenn du das abfängst kannst du entsprechende Schritte einleiten. Aber eigentlich sollte das bei einer sauberen Programmierung gar nicht so nötig sein. lass doch deinen ServerSocket in einer Schleife die Verbindungen annehmen und starte dann da drin in einem neuen Thread die Bearbeitung des Sockets. So ist es ziemlich wursch wie viele Clients sich zum Server verbinden und ob mal eine Verbindung abreißt. while(true){ Socket s = deinServerSocket().accept(); new ClientConnection(s); } Dann kannst du auch mehrere Telnet-Clients parallel zum Server verbinden.
  3. Nicht all zu viel. Aber im Audio-Bereich sind vergoldete Anschlüsse durchaus zu überdenken da es fast auf die Qualität einer Löt-Verbindung kommt. Außerdem sollte das Kabel nicht länger sein als benötigt. Im Internet findet man solche Kabel für ~10 €. Im übrigen: Versuch doch mal wie der Kang ist wenn du bessere PC-Boxen an dein Navi anschließt. Wenn da der Kang schlecht ist liegts mit hoher Wahrscheinlichkeit am Navi selbst. Dann brauchst auch keine teuren Kabel mehr. Garbage in/Garbage out.
  4. DDR3 ist definitiv Marktreif. Jedoch durch die momentan noch sehr hohen Preise würde ich momentan nur so viel RAM kaufen wie zum arbeiten wirklich notwendig ist. In einem Jahr bekommst den wahrscheinlich für die Hälfte. Hab ich damals mit meinem Athlon X2 System auch gemacht als der 800er bei einem GB-Preis von ~100 € lag (erstmal nur 2x 512 reingepackt). Ein Jahr später hab ich mir dann noch zwei Module je ein GB für 66 € geholt. Im Prozessorbereich hat Intel derzeit wohl absolut die Nase vorn. AMD ist zwar günstiger aber die Spitzenmodelle sind lt. Benchmarks ein gutes Stück langsamer. D.h. wenn du eine hohe Leistung brauchst führt an Intel kein Weg vorbei.
  5. hat sich erledigt. Die Lösung schaut wie folgt aus: Process p = Runtime.getRuntime().exec("cmd"); PrintWriter out = new PrintWriter(new OutputStreamWriter(p.getOutputStream())); out.println("start /D"+path+" "+command); out.flush(); Eigenes Commandozeilenfenster mit individuelen Ausführungspfad.
  6. Ich habe ein Programm geschrieben (Client-Server-Anwendung) welche über Netzwerk Programme auf einem anderen PC starten kann. Die meisten dieser Programme sind Kommandozeilenprogramme. Da ich auf dem PC auf dem sie gestartet werden gern sehen möchte, was diese Programme ausgeben suche ich nun nach einer Möglichkeit eine normale DOS-Konsole zu öffnen in denen das Programm dann läuft. Mein erster versuch war mittels "Runtime.exec("cmd"); und dann über den InputStream das Programm aufzurufen. Leider läuft das Programm immer nopch im Hintergrund. Gibt es noch eine andere Möglichkeit als mir eine eigene Konsole mit Swing oder AWT zu schreiben in der die Daten dann ausgegeben werden? Ein Windows cmd-Fenster wäre eben das beste da die Ausgaben auch teilweise farbig erfolgen und das über das lesen und ausgeben des InputStreams wohl verloren gehen würde.
  7. Kanns sein dass du aus irgendeinem Grund auf dem Spiele-Rechner nur sehr eingeschränkte Rechte im System hast? Bist du als Administrator angemeldet?
  8. ahhh... Wusste grad nicht was mit generics gemeint ist. Aber google Hilft. Wenn du sowas gemacht hast wie zB. new LinkedList<Component>(); solltest du das lassen wenn es mit Java 1.4.x kompatibel sein soll. Stattdessen musst du in solchen Fällen die Objects die du aus der Liste holst auf das ensprechende casten.
  9. Hast du in deinem Quellcode eventuell Funktionen verwendet die erst in Java 1.5 oder 1.6 verfügbar sind?
  10. Bei Medion-TV-Karten ist doch immer PowerCinema mit dabei (war zumindest bei mir so)? Die Software ist eigentlich ziemlich gut. Bei Medion gibts aber ein SoftwareUpdate runterzuladen (was eigentlich eine Komplettversion von PowerCinema ist, so dass du lediglich die Serial deiner eigenen CD noch brauchst).
  11. Ein Unterschied in der Klangqualität ist nicht vorhanden. Aber bei Stereo ist es halt möglich das der Klang auf der Rechten seite ein anderer ist wie auf der linken Seite. Wenn sich zwei Leute unterhalten kann einer von Links reden und einer von rechts. Der AUX-Klinke-Anschluss ist ja gerade dafür da um Analoge Audio-Ausgänge von MP3-Playern, CD-Playern, NAVIS etc... wo normalerweise Kopfhörer dranhängen da anzuschließen. Allerdings musste ich die Erfahrung machen, dass die Klangqualität über AUX je nach Kabel und Gerätemodelle mitunter mehr als lausig ist. Also spar besser nicht am Kabel. Es lohnt sich nicht, wenn man dann ein total flaches Signal hat. Im übrigen: 4-Polige Klinke-Stecker gibts zwar aber das ist dann Stereo+Mikro (oder Stereo+ andere Zusatzfunktion).
  12. Mir ist sowas nicht bekannt. Aber ich denke wenn du Anwendungsentwicker in Ausbildung bist (oder etwas vergleichbares) dann sollte es kein Problem sein, deinen Vorgesetzten dazu zu überreden dass du dir Eclipse und Java installieren darfst. Wenn es sich jedoch lediglich um ein Problem mit den Rechteeinstellungen des Betriebssystems handeln sollte: Eclipse hat kein Installationsprogramm sondern wird einfach nur entpackt. Und JAVA kannst du dir auch von einem PC kopieren auf den es installiert ist und dann nur noch die Path-Variable setzen.
  13. Der Weg über Calendar wäre wohl der einfachste. Du holst dir ein Calendar-Objekt und setzt die Zeit in Millisekunden auf dayOfYear*1000*60*60*24. Danach kannst du dir mit calendar.get(Calendar.{IDENTIFIER}) die entsprechenden Daten rausziehen. oder du machst es selbst mit einem Array und einer Schleife. Du legst dir zuerst einmal ein int-Array an mit den längen der Monate (31,28,31...). Danach eine int-variable aktuellerMonat(0). Nun startest du eine while-Schleife welche als Bedingung hat: dayofyear > monate[aktuellermonat]. Wenn ja, dann zeihst du monate[aktuellermonat] von dayOfYear ab und erhöhst aktuellerMonat um 1. Nach der Schleife entspricht monate+1 deinem Monat und dayOfYear ist der Restwert der nicht mehr abgezogen werden konnte. Also ein Tag im Monat. Wenn du eine ArrayIndexOutOfBoundsException bekommst solltest du aufhören Werte einzugeben/anzunehmen die größer sind als 365.
  14. Wie Flashpixx schon gesagt hat: JNI ist hier das Stichwort. Allerdings ist damit ein einfacher Aufruf irgendwelcher C-Libs nicht möglich. Java erfordert zum Aufruf einer C-Library dass sich diese an bestimmte Richtlinien hält. Außerdem sind die Datentypen etwas anders (was du am deutlichsten bei Strings merken wirst). Das hat zur folge das du dir für deine Librarys so eine Art zwischen-Librarys schreiben musst, welche die Schnittstelle zwischen JNI und der Ziel-Library bilden.
  15. Spontan würde mir da ein Keylistener einfallen mit dem du wenn die gedrückte Taste die Leertaste ist das entsprechende selbst selektierst. Desweiteren könntest du auch die offenliegende Combobox von Java 1.4 in dein Projekt kopieren und sie weiterhin verwenden.
  16. speedi

    Gui

    Das ist in Java Beispielsweise ein Normales JPanel mit einer TitledBorder. panel.setBorder(...);
  17. War auch kein wirkliches versehen. Nur ein kleine Aufheiterung für zwischendurch.
  18. Änderungen an der PATH-Variable stehen dir in manchen Windows-Versionen - so glaube ich mal bemerkt zu haben - erst nach einem Neustart zur Verfügung. Hast du das schon versucht? Ansonsten redest du schon von der Systemvariable "Path" und nicht von einer Benutzervariable die du unter gleichen Namen erstellt hast? Die Pfade sind auch nur durch ein ";" ohne Leerzeichen dazwischen getrennt? Im übrigen: Deine Benutzervariable heißt "ANT" und im Path schreibst du "%ANT_HOME%". Eventuell gibts da einen Fehler, weil die Variable fehlt und dann wird JAVA_HOME auch nicht mehr mit initialisiert.
  19. Also zum ersten erkläre uns doch erstmal was dieses BB ist? Ist das ein MailServer? Ist das von dir geschrieben worden, nein oder? Dieses Bereich des Forums dient meines Wissens nach primär dazu Fragen rund um die Java-Programmierung zu klären. Wenn du jedoch das Programm weder selbst geschrieben hast, noch im Besitz des Quellcodes bist und es sich um einen Bug handelt, wird es schwierig die hier brauchbare Hilfestellung zu geben. Eine IllegalArgumentException kann prinzipiell von allen möglichen gebracht werden. Immer dann wenn der Übergabeparameter für den entsprechenden Programmteil (=Methode), unsinn darstellt. z.B. wenn du versuchen würdest eine E-Mail an "Holger Testperson, Dorfstraße 7a, Hinterdupfing" zu schreiben könnte eine solche Exception kommen (der Grund ganz logisch: du hast die Polstleitzahl vergessen).
  20. String ist eine Art Exclusive Klasse. Der Konstuktor kennt die String-Klasse von Haus aus und merkt sobald "..." kommt, dass String gemeint ist. Allerdings ist String a = "Hallo!" nicht das gleiche wie String a = new String("Hallo") Bei der Initialisierung ohne new wird der String im StringPool von Java verwaltet. Wenn du dann noch einen String mit gleichen Namen anlegst, verweist Java das meines Wissens nach auch auf das gleiche Objekt. Wenn du mit new String(String deinString) erhälst du ein neues Objekt, das nicht vom StringPoll verwaltet wird. Aber im grunde ist das ziemlich wurscht. Ohne new spart Speicher und mit new brauchst du wahrscheinlich weniger Rechenleistung, weil der PC nicht erst schauen muss, ob es den String schon gibt. Links: de.wikibooks.org java.sun.com
  21. Ich finde das ziemlich beunruhigend, wenn man in so jungen Jahren schon so hohe Mengen an Drogen (zwar legal aber auch nicht 100% unbedenktlich) konsumiert. Vor allem, wenn man dann noch merkt, dass man die Menge regelmäßig anheben muss um überhaupt noch einen Effekt zu haben. Nimm dir 2 Wochen frei und mach derweil einen Entzug. Im übrigen sind 4 Stunden Schlaf für viele Menschen einfach zu wenig und somit ein möglicher Grund für deine chronische Müdigkeit.
  22. Ich denk Obama wird schon für die Amerikaner eine recht gute Politik machen. Eines seiner Ziele ist die Einführung einer art gesetzlichen Krankenkasse nach europäischen Vorbild (mehr als überfällig). Allerdings sollte man keine Politik der Wunderheilung erwarten. Der Mann kocht auch nur mit Wasser. Was ich schlecht finde: Außenpolitisch wird er wohl mehr biss haben als sein Vorgänger. Bush war da eigentlich für Länder wie Deutschland und Frankreich recht angenehm. Wenn wir keine Lust hatten irgendwo mitzuspielen konnten wir nein sagen ohne dass es echrte Konsequenzen gab. Was ich gut finde: Ein solcher Regierungswechsel wirkt auch ohne gleich wirksame Politik zu machen erstmal positiv auf die Wirtschaft, indem die Menschen und die Firmen wieder Hoffnung für die Zukunft fassen und erstmal mehr kaufen und Investieren. Falls sich die US-Wirschaft jetzt wieder besser entwickeln sollte hat das auch für uns größe Vorteile. Der Dollar steigt wieder und die Amerikaner haben wieder Geld europäische Produkte zu kaufen. Und das ist ein ganz wichtiger Grundpfeiler der deutschen Wirtschaft.
  23. Ich hatte vor etwa 1.5 Jahren die gleiche Situation und wollte meinen Anschluss kündigen den ich damals seit einem Jahr hatte. AOL hat mir daraufhin nur mitgeteilt, dass die Kündigung unswirksam ist, da ich 2 Jahre mindestlaufzeit habe. Ich solle mir mindestens einen analogem Telekom-Telefonanschluss zulegen und denen dann die neue Nummer mitteilen, damit sie mir darafu DSL schalten können. Das super witzige: 1 Monat nach der Freischaltung ruft Alice im Auftrag von AOL an und bietet mir einen DSL-Anschluss zum Spottpreis an. Ohne Mindestlaufzeit. Ein Kollege von mir hatte vor 2 Jahren die gleiche Situation nur bei Freenet. Freenet hat ihm dann gesagt, dass ein Wohnungswechsel ein ordentlicher Kündigungsgrund ist und er sich danach gern wieder neu anmelden kann bei ihnen. FAZIT: 50 € Einrichtungsgebühr der Telekom gezahlt, einen Monat lang anolages Telefon gezahlt.... Hängt ganz und gar vom Anbieter ab. @Michelangelo: Das kenn ich. Ein Bekannter von mir wartet jetzt auch schon ewig auf seinen Arcor-Anschluss. Zwei Termine die Arcor angeblich mit der Telekom zur Schaltung der Leitung ausgemacht hat (Telekomtechniker kommt vorbei und richtet das, da sich in dem Gebäude eine alte Firmeneigene Schaltzentrale befindet über die der Anschluss laufen müsste) wurden offensichtlich nicht wahrgenommen.
  24. Falls dein Speicher im Single-Channel-Modus läuft wundert mich das kaum. Es gab schon genug Tests, bei denen ein Modul schneller war als zwei Module, wenn man nur die Übertragungsraten anschaut. Womit hast du das gestestet? Das Battlefield mit 2 GB langsamer läuft als mit einem kann ich mir nämlich nicht vorstellen, da dein OS jetzt viel weniger auslagern muss und die Daten stattdessen im schnellen RAM ablegen kann. Dann sind zwar deine Übertragungsraten im RAM etwas langsamer aber das ist immer noch wesentlich besser, als Daten auf die Festplatte auzulagern.
  25. Also dein Programm macht den Screenshot nicht selbst, sondern zeigt nur an was sich in der Zwischenablage des Betriebssystems befindet? Wenn das so ist fällt mir nur eins ein: Du musst in regelmäßigen Abständen prüfen (mittels eines Threads), ob sich die Zwischenablage geändert hat. Wenn ja musst du bei deinem JLabel das Image neu setzen.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...