2 Stimmen

getInputStream-Blöcke?

Mit Input/Output-Stream, um Objekte zwischen meinem Client und Server zu übergeben. Ich kann sowohl senden und Empfangen von Objekten mit meinem Server, und jetzt möchte ich das gleiche für den Client, die ab jetzt nur senden kann. Also habe ich meinem Client einen ObjectInputStream gegeben. Allerdings, wenn ich initilazie es, es blockiert! Ich habe herumgesucht und Antworten gefunden, aber keine Lösung.

Bitte um Hilfe!

public GameConnection(String strPort, TextArea chat)
    {
        this.port = Integer.parseInt(strPort);
        System.out.println("GameConnection::Constructor(): Connecting on port " + port);
        this.chat = chat;

        connect = new Connection();
        sendObject();
    }
    public void sendObject()
    {
        try
        {  
            obj_stream.writeObject(new String("GameServer received a message!"));  
        }
        catch(Exception e){System.out.println("GameConnection::sendObject(): " + e);}  
    }  

    protected class Connection extends Thread
    {
        private boolean alive = true;

        public Connection()
        {
            try
            {
                socket = new Socket(host, port);
                System.out.println("Connected to GAMESERVER" + host + " on port + " + port);
                obj_stream = new ObjectOutputStream(socket.getOutputStream());
                // Next line BLOCKS!!!
                //ObjectInputStream stream = new ObjectInputStream(socket.getInputStream());
            }
            catch (IOException ioe)
            {
                System.out.println("Connection::constructor() " + ioe);
                Terminate();
            }
            catch (NullPointerException npe)
            {
                System.out.println("Connection::constructor() " + npe);;
                Terminate();
            }

        }

Ich habe versucht, sie in verschiedenen Threads zu verwenden, aber das Problem ist das gleiche, zumindest bei mir :(

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X