16.07.2018, 01:12 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Beiträge: 1 150

Geschlecht: Männlich

31

11.01.2011, 20:29

Zitat

Ich hatte mal irgendwo gelesen, dass es Programme gibt, die aus dem Internet heraus IP's anpingen und nach offenen Ports suchen.
Sogenannte Portscanns.
Dabei wird aber nichts angepingt sondern eher
Vielleicht so etwas soetwas:

Zitat von »http://forum.chip.de/windows-xp/ping-befehl-command-prompt-port-915790.html«

Du kannst allerdings mit telnet auf Ports zugreifen. Damit bekommst du zumindest die Rückmeldung, ob dieser erreichbar ist und meist auch, welcher Server inkl. Versionsnummer dahintersteht.
Z.B. telnet 192.168.1.1 21 greift auf Port 21 zu und auf einen evtl. vorhandenen FTP Server.
gemacht...
Jedoch kann das nicht die Verbindung stören, da die Firewall Richtung Internet steht und ich intern nichts laufen hab, was permanent die Ports aller Rechner scannt...
Wie überträgst Du denn die Musik Dateien TCP oder UDP und welcher Port?

Beiträge: 711

Geschlecht: Männlich

32

11.01.2011, 21:53

Wie überträgst Du denn die Musik Dateien TCP oder UDP und welcher Port?

Das ist eine MultiCast-Verbindung. Die Daten werden mit einem send an alle angemeldeten Clients übertragen. Wenn ich das richtig verstanden habe, dann ist das UDP.
MfG. Cottonwood.

Beiträge: 1 150

Geschlecht: Männlich

33

11.01.2011, 22:28

Wie überträgst Du denn die Musik Dateien TCP oder UDP und welcher Port?

Das ist eine MultiCast-Verbindung. Die Daten werden mit einem send an alle angemeldeten Clients übertragen. Wenn ich das richtig verstanden habe, dann ist das UDP.
Daran könnte es liegen:
Solche Verbindungen haben keine Überprüfungen, welche das korrekte ankommen ermöglichen.
Einfach einmal in Netz hauen und schauen was passiert.
Es kann sein, dass da bei mir, aus welchen Gründen auch immer, eins oder zwei Pakete nicht ankommen und schon gibt es Fehler.
Jedoch wäre es schätze ich zuviel Aufwand und würde das Netz überlasten, wenn man zu jedem Client eine extra TCP-Verbindung aufbaut.
Somit: Deine Lösung ist sehr gut und wenn das Ding sich automatisch wieder synchronisiert sind die Übertragungsfehler auch egal.

Beiträge: 711

Geschlecht: Männlich

34

12.01.2011, 02:23

Ich werde einen Laufzähler einbauen, um die Fehler festzustellen, falls sie auftreten. Das ist zunächst einmal eine Möglichkeit, Fehler von dieser Seite einzuschätzen.
Sie zu beheben, ist dann allerdings nicht einfach. Der Server ist weiter beschäftigt, die folgenden Pakete zu übertragen. Man müsste also abwarten, bis das Lied zu Ende übertragen ist. Danach wartet der Server 15 Sekunden, um sicherzustellen, dass auch der langsamste Client so weit ist, das Leid zu spielen. Das passiert normalerweise alles, während das vorherige Lied noch spielt.

Während dieser 15 Sekunden könnten fehlende Blöcke nachgefordert werden. Aber erst einmal sollten wir das Ergebnis der Laufzähler-Meldungen abwarten.
MfG. Cottonwood.

Beiträge: 1 150

Geschlecht: Männlich

35

12.01.2011, 16:27

Zitat

Während dieser 15 Sekunden könnten fehlende Blöcke nachgefordert werden.
Das Problem ist denke ich nicht nur das Fehlen sondern auch Fehler in den Blöcken.
Ich hätte eine Idee:
Du könntest entweder direkt streamen (dafür ist MultiCast auch eigentlich gedacht) oder dem Nutzer überlassen z.B. über Windows-Netzwerkfreigaben oder Samba seine Dateien auf beiden Rechnern vorzuhalten und diese dann synchron abzuspielen.
Da hast Du dieses wirklich komplizierte Problem gelöst und kannst dich ganz auf die Synchronizität konzentrieren.

Beiträge: 711

Geschlecht: Männlich

36

12.01.2011, 17:04

Ich fürchte du hast Recht. Es gehen nämlich wirklich Blöcke verloren.

Eigentlich wollte ich dir heute eine neue Version zum Test bereitstellen. Aber das wird jetzt doch leider noch etwas dauern.
MfG. Cottonwood.

Beiträge: 711

Geschlecht: Männlich

37

12.01.2011, 22:11

Ich habe jetzt doch erst mal den aktuellen Stand zum Laufen gebracht. Bei mir gehen Pakete nur verloren, wenn der Server der langsame Rechner ist. Umgekehrt ist alles okay.
Die Lieder starten schön parallel. Da mein langsamer Rechner (Client) aber keine Soundkarte hat, gibt es ab und an Asynchronitäten mitten im Lied.

Ich würde es gerne erst mal auf dieser Basis weiter getestet haben, damit ich eine stabile Version habe, wenn ich die Übertragung umstelle.

Den Download gebe ich dir wieder per PN.
MfG. Cottonwood.

Beiträge: 1 150

Geschlecht: Männlich

38

13.01.2011, 00:03

Zitat

Bei mir gehen Pakete nur verloren, wenn der Server der langsame Rechner ist.
Das sollte bei mir nicht der Fall sein.

Zitat

Ich würde es gerne erst mal auf dieser Basis weiter getestet haben, damit ich eine stabile Version habe, wenn ich die Übertragung umstelle.
Wird gemacht, aber morgen, jetzt muss ich erstmal in Bett...
Verdammte Schule und ich muss da noch 3 1/2 Jahre hin...

RalfonLinux

Erleuchteter

Beiträge: 2 932

Geschlecht: Männlich

39

13.01.2011, 09:53

@Offtopic:

Zitat

Verdammte Schule und ich muss da noch 3 1/2 Jahre hin...

Du armes Putput ;-) : StreichelüberdenKopf:

Sei froh, das du noch nicht arbeitest.
Es hat mich 15 Jahre gekostet, einen Job zu finden, wo ich 40Std die Woche Gleitzeit ohne Kernzeit habe.
Hauptsache die Arbeit wird fertig.

Die Jobs sind aber selten, als Schüler hast du den Vorteil, dass du Nachmittags Schluss hast, deine Hausaufgaben machst, und dann vor den Rechner kannst.
Wenn du nur 6Std Schlaf brauchst, bleibt dir ganz schön viel Zeit über.

Wenn du hinter Job und Familie hast, sind deine Zeite schon weniger.
Je mehr du jetzt schaffst an Wissen anzuhäufen, desto mehr Zeit bleibt dir hinterher fürs Doing, weil du von deinem Wissen zerren kannst.

Viele Grüße
Ralf
Auf Wunsch gibt es nur noch Text und keine Bilder mehr in der Signatur.
Keine ? ....... :evil:

Quellcode

1
2
3
4
5
6
7
8
.
    ~
   - -          M
   /V\         - *
  // \\        /V\
 /( _ )\      // \\
  ^~ ~^      /( _ )\
              ^~ ~^

Beiträge: 1 150

Geschlecht: Männlich

40

13.01.2011, 15:45

Hi,

@Offtopic

Zitat

Sei froh, das du noch nicht arbeitest.
Es hat mich 15 Jahre gekostet, einen Job zu finden, wo ich 40Std die Woche Gleitzeit ohne Kernzeit habe.
Hauptsache die Arbeit wird fertig.
Dazu kann ich nichts sagen, da ich noch nicht auf Arbeitssuche war.

Zitat

Die Jobs sind aber selten, als Schüler hast du den Vorteil, dass du Nachmittags Schluss hast, deine Hausaufgaben machst, und dann vor den Rechner kannst.
Wenn du nur 6Std Schlaf brauchst, bleibt dir ganz schön viel Zeit über.
Da hast Du prinzipiell schon recht, nur meistens reicht es mit den Hausaufgaben nicht, es muss noch diese Präsentation und jenes Portfolio vorbereitet werden.
Auch muss dann noch für die nächsten Arbeiten gelernt werden.

Zitat

Wenn du hinter Job und Familie hast, sind deine Zeite schon weniger.
Je mehr du jetzt schaffst an Wissen anzuhäufen, desto mehr Zeit bleibt dir hinterher fürs Doing, weil du von deinem Wissen zerren kannst.
Immer schön her mit dem Wissen.

Wenn ich jedoch einen Job habe, der mir Spaß macht, dann ist das relativ.
Ich behebe lieber 3 Stunden irgendwelche Computer-Problem anstelle 45 Minuten Religionsunterricht.
Da weiß ich, von was ich rede, da ich für die Softwareinstallation auf ungefähr 40 Windows-Rechnern verantwortlich bin.
(Da gab es mal so ein Zitat: "Such Dir eine Arbeit, die Dir Spaß macht, und Du wirst nie arbeiten müssen."

Kann aber auch sein, dass ich alles falsch sehe und nachher das große Erwachen kommt, aber im Moment würde ich lieber den ganzen Tag rumlaufen und den Leuten ihre Probleme lösen anstelle ewig in der Schule zu hocken und irgendwelchen Kram zu lernen, den ich nie brauchen werde.

@Ontopic
Mein Client spielt nichts ab, jedoch funktioniert die Hardware so weit einwandfrei (mit VLC getestet).
Die Pakete scheint er jedoch zu empfangen, zumindest schreibt er etwas in die Richtung.

Viele Grüße
Maxi

Beiträge: 711

Geschlecht: Männlich

41

13.01.2011, 16:56

Danke. Ich schau mal. Bei mir hatte es geklappt. ;(
MfG. Cottonwood.

Beiträge: 711

Geschlecht: Männlich

42

13.01.2011, 17:58

Ich habe dir eine neue Version auf dem letzten Link bereitgestellt. Darinnen sind auch 2 Sourcen, bei denen du mit ein paar Einstellungen spielen kannst, falls es noch Probleme gibt:

Quellcode

1
2
3
4
private static long sleepTime=2000;       // ms
private static long sleepAfterSend=200;   // ms
private static int numberOfSendRepeats=3; // 0..n
private static int timeToMakeSure=15000;  // time to make sure that all clients are waiting

sleepTime ist die Zeit, die die Übertragung und Bearbeitung des Sync-Blocks dauern darf. Ist sie zu kurz, gibt es am Client eine Fehlermeldung. Das Lied startet dann nicht.

sleepAfterSend ist eine Pause nach dem senden eines Blockes. Ist diese Zeit zu kurz, gehen zu viele Blöcke verloren.

numberOfSendRepeats ist die Anzahl der Wiederholungen des Sendens eines einzelnen Blockes. Diese Version wiederholt den Send-Befehl, wenn dieser Parameter > 0 ist. Damit soll bei Blockverlusten die Chance gegeben werden, dennoch alle Blöcke zu empfangen.

timeToMakeSure (time to make sure that all clients are waiting) ist die Zeit, die dem Client nach dem Empfangen des letzten Blockes gegeben wird, um den Sound zu generieren. Ist sie zu kurz, dann startet das Lied nicht. Da normalerweise (ab dem 2. Lied) die Übertragung parallel zum Abspielen stattfindet, sollte diese Wartezeit eigentlich kein Problem darstellen.
MfG. Cottonwood.

Beiträge: 1 150

Geschlecht: Männlich

43

13.01.2011, 20:22

Werde ich mal testen...

Beiträge: 711

Geschlecht: Männlich

44

14.01.2011, 00:50

Ich habe inzwischen eine neue Version unter demselben Link. Fehler sind keine weiter behoben. Nur ein neues Feature, das dir das Testen erleichtern kann:
Du kannst jetzt alle Parameter über eine Parameterdatei ändern. Du musst nichts mehr dafür neu übersetzen. Die Parameterdatei ist im Zip enthalten. Sie ist eigentlich selbsterklärend.

Ausserdem hat sich in dem Zusammenhang der Aufruf geändert. Hier ein Beispiel

Quellcode

1
java Juke2010 -m=d:\java\eclipse\Musiktitel-ogg.txt -p=d:\java\eclipse\parameters.txt


//Edit: Die Parameterdatei wird nur einmal am Programmstart eingelesen.
//Edit: Heute habe ich noch ein überflüssiges Sleep(500) am Ende von JukeFileSend entfernt. Das solltest du noch übernehmen, weil sonst dein Test mit den Einstellungen verfälscht würde.
MfG. Cottonwood.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Cottonwood« (14.01.2011, 11:22)


Beiträge: 1 150

Geschlecht: Männlich

45

14.01.2011, 21:35

Er mag irgendwie nicht spielen bzw. hat es bei meiner Testreihe nur einmal kurz im Lautsprecher geknackst.
Versuche gerade das zu reproduzieren.

/* Edit:
Er dudelt, ich muss den Client starten.
Einen Song komplett spielen, den Server abschießen und dann neustarten, dann geht es...
Aber es ist asynchron...
*/

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »maxi_king_333« (14.01.2011, 21:42)


Beiträge: 711

Geschlecht: Männlich

46

14.01.2011, 22:14

Ich werde das mal mit der dir überstellten Version und Knoppix zu reproduzieren versuchen. ;(

Bei mir läuft das nämlich inzwischen in beiden Richtungen perfekt.

//Edit: Kannst du mal bitte die Testswitches für JukeReceiveFile, JukeSendFile und JukeOggSound in der Datei parameters.txt aktivieren, dann den Client zuerst starten, dann den Server starten und genau 1 Lied spielen lassen. Davon hätte ich gerne die Protokolle vom Server und vom Client.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#CatchServerIP.testsw=true;
#ChooseDirectory.testsw=true;
#ChooseFile.testsw=true;
#Juke2010.testsw=true;
#JukeCopy.testsw=true;
#JukeMp3Sound.testsw=true;
JukeOggSound.testsw=true;
#JukePlaylist.testsw=true;
#JukePoll.testsw=true;
JukeReceiveFile.testsw=true;
JukeSendFile.testsw=true;
#JukeTitelText.testsw=true;
#MusicListCreator.testsw=true;
#MusicPlayer.testsw=true;
#MusicPlayerClient.testsw=true;
#TastaturInput.testsw=true;
#TextShow.testsw=true;
#TimeClient.testsw=true;
#TimeServer.testsw=true;
#UhrAnwendung.testsw=true;
MfG. Cottonwood.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Cottonwood« (14.01.2011, 23:23)


Beiträge: 1 150

Geschlecht: Männlich

47

14.01.2011, 22:35

Ich werde das mal mit der dir überstellten Version und Knoppix zu reproduzieren versuchen. ;(

Bei mir läuft das nämlich inzwischen in beiden Richtungen perfekt.
Sind halt Fehler, die Du daheim nicht testen oder aufspüren kannst.

Beiträge: 711

Geschlecht: Männlich

48

15.01.2011, 02:30

Hat etwas gedauert. Ich musste mein Knoppix erst neu remastern.

Es scheint ein Problem mit der Uhrzeit unter Linux zu geben. Das kann natürlich auch an meinem Programm liegen. Obwohl es ja eigentlich unter Linux genau so laufen sollte wie unter XP.

Unter Windows sieht das Protokoll so aus:

Quellcode

1
2
3
4
5
6
7
8
9
Server:
JukeOggSound (server) sending the sync block.
JukeOggSound Sound started at 1295053285859

Client:
(client) waiting for the sync block.
JukeOggSound sentServerTime =  1295053283859
JukeOggSound actServerTime =   1295053283850
JukeOggSound startServerTime = 1295053285841


Das bedeutet, da der Server das Lied um 1295053285859 startet, muss er dem Client die Zeit sentServerTime = 1295053283859 mitteilen, da der ja die Verweilzeit von 2000 noch draufzählt.
Der Client ermittelt dann die aktuelle Serverzeit = 1295053283850, um daraus den Sleep zu errechnen. Das klappt mit 1295053285841 eigentlich auch ausreichend gut.
Die letzte Zeit ist die lokale Client-Zeit.

Bei Knoppix als Server sieht das aber leider total anders aus:

Quellcode

1
2
3
4
5
6
7
8
Server:
JukeOggSound (server) sending the sync block.
JukeOggSound Sound started at 1295051104886

Client:
JukeOggSound sentServerTime =  1295051102885
JukeOggSound actServerTime =   1295051390203
JukeOggSound startServerTime = 1295051679521


Ich werde das morgen mal in Ruhe mit Knoppix testen.

@Maxi: Ich danke dir für die Mühe.
MfG. Cottonwood.

Beiträge: 1 150

Geschlecht: Männlich

49

15.01.2011, 10:51

Tut mir Leid, hatte gestern leider keine Zeit mehr die Logs zu erstellen und zu posten.
Jetzt wo Du weißt an was es liegt - ist es noch nötig?

Beiträge: 711

Geschlecht: Männlich

50

15.01.2011, 12:25

Nein. Erst, wenn's bei mir mit Knoppix richtig läuft. Wenn du also eine neue Version hast und es dann immer noch nicht klappt.
MfG. Cottonwood.

Beiträge: 711

Geschlecht: Männlich

51

15.01.2011, 15:59

So. Mein Knoppix-Problem ist, dass ich überhaupt keine Zeit abfragen kann, weil ich kein Send von XP -> Knoppix durch bekomme.

Ich hatte das ja schon zwischen 2 XP-PC's. Da lag es daran, dass Java nicht eingetragen war im Firewall. Leider kenne ich mich da mit Linux/Knoppix überhaupt nicht aus.

Frage: Wie kann ich das bei Knoppix einstellen? Oder zumindest überprüfen, ob es da eingetragen ist?
MfG. Cottonwood.

Beiträge: 1 150

Geschlecht: Männlich

52

15.01.2011, 16:34

Dazu verwendet man unter Linux iptables: http://64-bit.de/dokumentationen/netzwer…BLES-HOWTO.html

Beiträge: 711

Geschlecht: Männlich

53

15.01.2011, 17:21

Laut firestarter habe ich keinen Firewall gestartet und wenn ich ihn starte, dann ist nichts im lokalen Netz geblockt. Daran kann es also nicht liegen.
Ich mache dazu einen neuen Thread auf, weil das hier zu weit geht.

Hier also bitte nicht mehr zum Thema "Knoppix nicht per send erreichbar" reinposten.
MfG. Cottonwood.

Beiträge: 711

Geschlecht: Männlich

54

16.01.2011, 22:22

Wegen des Netzwerkthemas komme ich hier momentan nicht weiter. Daher habe ich an dem Programm weiter gearbeitet, das die sortierte Musiktitel-Liste erstellt.
Die Sortierung hat eine Besonderheit. Die Titel, die mit "The " beginnen, werden bei der Sortierung mit dem Rest des Namens hinter dem "The " einsortiert.

Da das Programm von allgemeinem Interesse sein könnte, möchte ich es hier zum Ausprobieren zur allgemeinen Verfügung stellen.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileFilter;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Comparator;
import java.util.TreeSet;

import javax.swing.JFileChooser;

public class MusicListCreator{

    public static boolean testsw;

    private static String fileType = ".ogg";
    static String slash;
    public static void main(String[] args)
    {
//      read parameter file
        Parameters.readParams(args);

        testsw = Parameters.retrieveTestsw("MusicListCreator.testsw");

        TreeSet label = new TreeSet(new SubStringComparator());
        File dir = new File(ChooseDirectory.select());
        String wd = System.getProperty("user.dir");
        JFileChooser fc = new JFileChooser(wd);
        int rc = fc.showDialog(null, "Select File to Save Titles");
        String filename="";
        if (rc == JFileChooser.APPROVE_OPTION)
        {
            File file = fc.getSelectedFile();
            filename = file.getAbsolutePath();
        }else{
            System.out.println("File chooser cancel button clicked");
            return;
        }
        BufferedWriter bw = null;
        try {
            File ausgabeDatei = new File(filename);
            FileWriter fw = new FileWriter(ausgabeDatei);
            bw = new BufferedWriter(fw);
        }catch (IOException e) {System.out.println(e.getMessage());}
        String absPath = dir.getAbsolutePath();
        if (absPath.indexOf(':')<0){
            slash="/";
            absPath=absPath+slash;
        }else{
            slash="\\";
            absPath=absPath+slash;
        }
        retrieve(label, dir);
        if (testsw) System.out.println("MusicListCreator vor retrieve");

        try {
        	for (Object obj : label) {
                bw.write(obj.toString());
                bw.newLine();
            } 
            }catch (IOException e) {System.out.println(e.getMessage());}

        try {
            bw.close();
        }catch (IOException e) {System.out.println(e.getMessage());}
        //        System.exit(0);
    }
    //===============================================================================

    public static void retrieve(TreeSet label, File dir){

        File[] fileList = dir.listFiles(new FilenameFilter() {
            public boolean accept(File d, String name) {
                return (name.endsWith(fileType));
            }
        });

        for (int i=0; i<fileList.length; i++){
            label.add(fileList[i].getAbsolutePath());
        }

        File[] unterVerz = dir.listFiles(new FileFilter(){
            public boolean accept(File path){
                return path.isDirectory();
            }
        });
        for (File nextDir : unterVerz){
            retrieve(label, nextDir);
        }
        return;
    }
    
    public static String slashRetrieve(){
        return slash;
    }
}

class SubStringComparator
implements Comparator
{
    public int compare(Object o1, Object o2)
    {
    	String eins = ((String)o1).substring(((String)o1).lastIndexOf(MusicListCreator.slashRetrieve())+1);
    	if (eins.toLowerCase().startsWith("the ")) eins = eins.substring(4);
    	String zwei = ((String)o2).substring(((String)o2).lastIndexOf(MusicListCreator.slashRetrieve())+1);
    	if (zwei.toLowerCase().startsWith("the ")) zwei = zwei.substring(4);
        return (eins.compareTo(zwei));
    }
}
MfG. Cottonwood.

Beiträge: 711

Geschlecht: Männlich

55

22.01.2011, 00:06

Es hat etwas gedauert. Ich habe in der Zwischenzeit die Routine zur Zeitsynchronisation vollständig überarbeitet. Obwohl sie bei XP so schön funktionierte, hat das mit Knoppix zusammen überhaupt nicht geklappt. Die Abweichung der Uhren zwischen Knoppix und XP betrugen von Lied zu Lied 0,1 Sek. oder mehr (bei längeren Songs).

Und wenn der Router unter Last ist, wird die Zeit seltener übermittelt. Einfach, weil die Laufzeit der Pakete rauf geht. Das kann zu deutlich hörbaren Abweichungen führen.

@Maxi: Ich habe dir eine neue Version bereitgestellt. Würdest du damit bitte die UhrAnwendung (Client) und den TimeServer (Server) starten und bei der UhrAnwendung den Testswitch für den TimeClient anmachen, das Ganze so fünf Minuten laufen lassen und mir das Protokoll zusenden. Damit ich mal sehen kann, wie sich das bei dir verhält. Danke für deine Mühe.
MfG. Cottonwood.

Beiträge: 1 150

Geschlecht: Männlich

56

22.01.2011, 13:35

Er scheint mich nicht zu mögen - auf dem Client kommt immer noch keine Musik:
Der Server scheibt:

Quellcode

1
2
3
4
5
6
7
8
JukeSendFile bytesSent = 65306; Data = --0240
JukeSendFile bytesSent = 65306; Data = --0241
JukeSendFile bytesSent = 65306; Data = --0242
JukeSendFile bytesSent = 65306; Data = --0243
JukeSendFile bytesSent = 65306; Data = --0244
JukeSendFile bytesSent = 65306; Data = --0245
JukeSendFile bytesSent = 65306; Data = --0246
JukeSendFile bytesSent = 65306; Data = --0247
usw.
Der Client schreibt nur CatchServerIP.catchIP ... spielt aber nichts ab.
Der Testswitch für JukeReceiveFile ist an.

Zitat

@Maxi: Ich habe dir eine neue Version bereitgestellt. Würdest du damit bitte die UhrAnwendung (Client) und den TimeServer (Server) starten und bei der UhrAnwendung den Testswitch für den TimeClient anmachen, das Ganze so fünf Minuten laufen lassen und mir das Protokoll zusenden. Damit ich mal sehen kann, wie sich das bei dir verhält. Danke für deine Mühe.
Gibt ordentlich was aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
TimeClient (serverSocket) java.net.DatagramSocket@34a1fc
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
Die Sekunden der Uhr sind jedoch mit denen auf dem Server nicht synchron.

Beiträge: 711

Geschlecht: Männlich

57

22.01.2011, 17:47

Hi Maxi,

bist du sicher, dass du die aktuellste Version übernommen hast? Denn wenn die Zeile

Quellcode

1
2
CatchServerIP.catchIP Anfrage von /192.168.178.8 vom Port 51632 mit der Länge 9:
127.0.0.1
kommt, dann müsste auch eine Zeile

Quellcode

1
CatchServerIP.catchIP end socket.receive
gekommen sein.
MfG. Cottonwood.

Linux HardwareLinux Computer & PCs | Linux Notebooks & Laptops | Geek Shirts | Geek und Nerd Shirt Shop