Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过套接字发送对象-对象包含BuffereImage-有什么想法吗?_Java_Sockets_Bufferedimage - Fatal编程技术网

Java 通过套接字发送对象-对象包含BuffereImage-有什么想法吗?

Java 通过套接字发送对象-对象包含BuffereImage-有什么想法吗?,java,sockets,bufferedimage,Java,Sockets,Bufferedimage,Im通过套接字发送对象,该对象属于以下类别: public class ClientDetail implements Serializable{ public String username; public String [] capturedText; public String site; public BufferedImage screenShot; } 我正在尝试使用以下方式发送它: ClientDetail cD = new ClientDetail();

Im通过套接字发送对象,该对象属于以下类别:

public class ClientDetail implements Serializable{
public String username;
public String [] capturedText;
public String site;
public BufferedImage screenShot; 
 }
我正在尝试使用以下方式发送它:

        ClientDetail cD = new ClientDetail();
        cD.capturedText = mon.getCapturedText();
        cD.username = username;
        cD.site = mon.getWebsite();
        ScreenShot ss = new ScreenShot();
        cD.screenShot = ss.getScreenShot();

        if(mon.isCaptured)
        {
            try{
                output.writeObject(cD);
                output.flush(); 
            }catch(IOException ex){
                System.out.println("\nSomething messed up sending the message!");
            }
        }
这是无法发送的。能否通过套接字发送包含图像的对象?

发送内容:

ImageIO.write((渲染图像)图像,“png”,输出)

你知道的一件事:


ImageIO.read(输入)

您收到了什么错误消息?/例外情况是什么?如果你只是吞咽
ex
,那么难怪你不知道出了什么问题。ava.io.NotSerializableException:java.awt.image.buffereImage位于java.io.ObjectOutputStream.writeObject0(未知源)位于java.io.ObjectOutputStream.defaultWriteFields(未知源)位于java.io.ObjectOutputStream.writeSerialData(未知源)在java.io.ObjectOutputStream.writeOrdinaryObject(未知源)在java.io.ObjectOutputStream.writeObject0(未知源)在java.io.ObjectOutputStream.writeObject(未知源)在client.client.whileConnected(client.java:76)在client.client.startRunning(client.java:31)在client.ClientMain.main(ClientMain.java:8)上我知道这和BuffereImage有关,因为您使用不同的方法在套接字上写入图像。(我是一个新手,顺便说一句。放松点lol)因为BuffereImage不可序列化,我可能只需要单独发送它。。或者你知道如何使其可序列化吗?使用中所示的方法将BuffereImage写入ByteArrayOutputStream,从ClientDetail中删除BuffereImage并添加字节数组。字节数组是可序列化的。请详细解释这是如何实现OP的要求的,以便OP理解为什么这会有帮助