Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

71

Montag, 10. Dezember 2012, 10:19

- Deleted -

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19. Februar 2013, 12:40)


72

Montag, 10. Dezember 2012, 10:23

Hi,
mein letzter Abschnitt unter allem war: "Ist von Blizzard" - musste ich aber wegen der 10.000Zeichen-Marke entfernen :-D
Ich möchte natürlich erstmal verstehen was es alles auf sich hat...
Deshalb hatte ich ja die Exception eingebaut (Client), wo er mir nur immer "InputStream is null!" raushaut. Ich werd gleich mal nen Trace reinsetzen.. vielleicht gibt er mir da ja einen Fehler.

Danke schonmal für deine schnelle Antwort.

Edit://

So, Stacktrace gibt mir folgende Fehlermeldung zurück:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
run:
BananaClient V0.1aaa
Socket[addr=localhost/127.0.0.1,port=2710,localport=50640]
java.io.IOException: InputStream is null!
	at mhclient.Protocol.decode(Protocol.java:9)
	at mhclient.ChatApplet.run(ChatApplet.java:111)
	at java.lang.Thread.run(Thread.java:722)
java.io.IOException: InputStream is null!
	at mhclient.Protocol.decode(Protocol.java:9)
	at mhclient.ChatApplet.run(ChatApplet.java:111)
	at java.lang.Thread.run(Thread.java:722)
java.io.IOException: InputStream is null!

73

Samstag, 5. Januar 2013, 19:12

Ich arbeite auch noch dran, aber man muss ja auch ned jede Woche einmal fragen wie weit man ist - Man wartet einfach bis jemand fertig ist und jut.

Wie sieht es aus Bizzi ist dein Client nun fertig? Sind ja jetzt schon 5 Monate rum :P

74

Samstag, 5. Januar 2013, 19:33

- Deleted -

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19. Februar 2013, 12:41)


Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Ice.Net

75

Montag, 7. Januar 2013, 00:49

- Deleted -

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19. Februar 2013, 12:41)


76

Donnerstag, 17. Januar 2013, 00:06

- Deleted -

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19. Februar 2013, 12:41)


77

Freitag, 18. Januar 2013, 16:08

Das schaut ja schonmal Gut aus =)

Mach weiter so.
Hoste überlegt und nicht mit zuwenig Leistung und Sicherheit :P

Windows Server 2008 Datacenter
1 TB Festplatte
8x iCore 7 2,6 GHZ
64 GB Ram

78

Sonntag, 27. Januar 2013, 18:56

Networks und GUI trennen

PHP-Quelltext

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
// ChatApplet.java
public class ChatApplet extends javax.swing.JApplet implements ClientListener {
    private Client client;

    @Override
    public void init() {
         // initComponents();
         try {
            client = new Client("localhost"2710);
            client.addListener(this);
        } catch (UnknownHostException ex) {
            Logger.getLogger(BananaChat.class.getName()).log(Level.SEVEREnullex);
        } catch (IOException ex) {
            Logger.getLogger(BananaChat.class.getName()).log(Level.SEVEREnullex);
        }
   }

  @Override
    public void OnButlerReceive(ButlerReceiveHandler e) {
        System.out.println(e.getName());
    }

}

// ClientListener.java
public interface ClientListener extends EventListener {
    public void OnButlerReceive(ButlerReceiveHandler e);
}

// MultiClientListener.java
public class MultiClientListener implements ClientListener {
    
    protected Vector listener = new Vector();

    public void add(ClientListener l) {
        listener.add(l);
    }

    public void remove(ClientListener l) {
        listener.remove(l);
    }

   @Override
    public void OnButlerReceive(ButlerReceiveHandler e) {
        for (int i 0listener.size(); i++) {
            ((ClientListenerlistener.elementAt(i)).OnButlerReceive(e);
        }
    }
}

//ButlerReceiveHandler.java

public class ButlerReceiveHandler extends EventObject {

    protected String name;

    public String getName() {
        return name;
    }
    
    public ButlerReceiveHandler(Object sourceString[] tokens) {
        super(source);
        this.name tokens[1];
    }


//Client.java
public class Client implements Runnable {
    private Socket socket;
    private OutputStream out;
    protected MultiClientListener listener null;

    public Client(String hostint portthrows UnknownHostExceptionIOException {
        this.socket = new Socket(hostport);
        out socket.getOutputStream();
        listener = new MultiClientListener();
        new Thread(this).start();
    }

    public void addListener(ClientListener l) {
        listener.add(l);
    }

 @Override
    public void run() {
            //
            //...
            //
            while (true) {
                byte[] buffer Protocol.decode(in);
                String packet = new String(buffer"UTF8");
                String[] tokens packet.split("\0");
                String opcode tokens[0];
                if (opcode.equals(ReceiveOpcode.BUTLER.getValue())) { 
                    listener.OnButlerReceive(new ButlerReceiveHandler(this,tokens));
                } 
            }
    }
}


Aus der zweiten Version meines jchat Clients
villeicht kann es ja jemand gebrauchen :)

79

Sonntag, 27. Januar 2013, 19:36

- Deleted -

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19. Februar 2013, 12:41)


80

Montag, 28. Januar 2013, 18:59

Zitat

Naja, ned ganz organisiert.

Was soll das heißen? :whistling:

Zitat

schon recht gut Obfuscated

Sehe ich nicht so, man kann so gut wie alles aus deinem Client mit etwas Java-Kenntnissen verstehen, und somit auch kopieren ;)
Selbst dein dynamisches Protokoll lasst sich sehr leicht aus dem Client entnehmen und im BC einbauen.