簡體   English   中英

將ObjectOutputStream傳遞給另一個類

[英]Passing an ObjectOutputStream to another class

我正在開發一個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
}

如果我像在Startup一樣執行新的ObjectOutputStreamObjectInputStream ,則將創建到服務器的新連接。 我希望使用WhatToDoStartup中創建的現有Streams 提前謝謝你的幫助!

我使用的是帶有按鈕的ActionListener ,因此需要將流保存在構造函數中,以便以后在ActionListener使用。

我希望使用現有的流

這正是您的代碼現在所做的。 您對“但需要構建”的評論不正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM