0

クライアント/サーバー システムで使用する GUI プログラムを開発していますVector。接続を確立するObjectOutputStreamObjectInputStream作成されますが、新しいクラスを開こうとしたときにそれを新しいクラスに渡す方法がわかりません。私のStartupクラスには、作成されてさまざまなクラスに渡されてさまざまなフィールドが変更されるSerializableオブジェクト ( Message m) があり、クライアントとサーバーの間で接続が確立されます。

私のStartupクラスでは、このコードを持っています...

m.yourName = tmyName.getText();
m.department = tdepartment.getText();

if (m.yourName != null && m.department != null) {
    client = new Socket(server, port);
    oout = new ObjectOutputStream(client.getOutputStream());
    oin = new ObjectInputStream(client.getInputStream());
    toutput.setText("Connected");
    oout.writeObject(m);
    new WhatToDo (m, oout, oin);
}

WhatToDoクラスで私はこのコードを持っています...

Message m;
ObjectOutputStream oout;
ObjectInputStream oin;

public WhatToDo(Message a, ObjectOutputStream oout2, ObjectInputStream oin2){
    m = new Message();
    m = a;

    // this is what i'm unsure about and need help with
    oout = oout2; //but need to construct oout first
    oin = oin2; //but need to construct oin first
}

で行ったように、新しいことObjectOutputStreamを行うと、サーバーへの新しい接続が作成されます。で作成した既存のものを使用したい。事前に助けてくれてありがとう!ObjectInputStreamStartupStreamsStartupWhatToDo

ボタンを押して を使用しているActionListenerため、後で で使用するためにストリームをコンストラクターに保存する必要がありますActionListener

4

1 に答える 1

0

既存のストリームを使用したい

それがまさにあなたのコードが今やっていることです。「しかし構築する必要がある」についてのあなたのコメントは正しくありません。

于 2012-06-10T04:19:24.037 に答える