gpt4 book ai didi

java - 使用套接字发送变量

转载 作者:行者123 更新时间:2023-11-30 04:44:32 25 4
gpt4 key购买 nike

我已经开始开发一个简单的新工作项目,该项目为每个连接创建一个新线程,并且我正在尝试发送多个内容。我想知道有一种简单的方法可以简单地说声明一个变量,将整个变量发送到服务器并将其发送到其他客户端。例如,如果我想发送一个简单的整数数组?基本上我将如何通过套接字发送数组甚至图像?

最佳答案

是的,这是可能的。您正在寻找的称为序列化,可用于通过流(套接字、文件等)发送整个对象。看看this java socket serialization tutorial .

查看 ObjectOutpuStream 上的文档和 ObjectInputStream .

基本上,您要做的就是让任何您想要序列化的自定义类型实现 Serialized 接口(interface):

class MyCustomType implements Serializable {
...
}

这是一个标记接口(interface),告诉运行时该类型可以通过流发送。

接下来,一旦连接建立,您就可以获取套接字输入/输出流并使用ObjectOutputStream写入对象:

MyCustomType obj = new MyCustomType(); 
ObjectOutputStream oos = new ObjectOutputStream(client.getOutputStream());
oos.writeObject(obj);
oos.flush();

或使用ObjectInputStream读取它们:

ObjectInputStream ois = new ObjectInputStream(client.getOutputStream());
MyCustomType obj = (MyCustomType) ois.readObject();

(上面的client是一个Socket)。

关于java - 使用套接字发送变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com