繁体   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