Android-Socket无法发送自定义对象
创始人
2024-08-19 21:30:11
0

在Android中,Socket通信只能传输字节流,无法直接发送自定义对象。但可以通过序列化和反序列化的方式将自定义对象转换成字节流进行传输。

以下是一个示例代码,展示了如何通过序列化和反序列化的方式使用Socket发送和接收自定义对象:

  1. 创建一个自定义对象类,实现Serializable接口,以支持对象的序列化和反序列化:
public class MyObject implements Serializable {
    private String name;
    private int age;

    // 构造函数和其他方法...

    // Getter和Setter方法...
}
  1. 在发送端,将自定义对象转换成字节流,并通过Socket发送字节流到接收端:
MyObject obj = new MyObject();
// 设置对象的属性...

// 将对象序列化为字节流
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
oos.flush();
byte[] data = bos.toByteArray();

// 发送字节流到接收端
Socket socket = new Socket("serverIP", 12345);
OutputStream outputStream = socket.getOutputStream();
outputStream.write(data);
outputStream.flush();
socket.close();
  1. 在接收端,接收字节流,并将字节流反序列化为自定义对象:
// 接收字节流
ServerSocket serverSocket = new ServerSocket(12345);
Socket socket = serverSocket.accept();
InputStream inputStream = socket.getInputStream();
byte[] data = new byte[1024];
int len = inputStream.read(data);

// 将字节流反序列化为对象
ByteArrayInputStream bis = new ByteArrayInputStream(data);
ObjectInputStream ois = new ObjectInputStream(bis);
MyObject receivedObj = (MyObject) ois.readObject();

// 处理收到的自定义对象
// ...

socket.close();
serverSocket.close();

通过以上的代码示例,可以在Android Socket通信中发送和接收自定义对象。需要注意的是,自定义对象类必须实现Serializable接口,以支持对象的序列化和反序列化操作。

相关内容

热门资讯

黑科技好牌!智星德州菠萝辅助工... 黑科技好牌!智星德州菠萝辅助工具,扑克时间可以控制吗,往昔是有挂(2024已更新)-哔哩哔哩1、点击...
黑科技科技!智星德州菠萝怎么开... 黑科技科技!智星德州菠萝怎么开挂,pokenow有挂吗,原先有挂(2022已更新)-哔哩哔哩;支持2...
黑科技智能ai!智星德州菠萝开... 黑科技智能ai!智星德州菠萝开挂,哈糖大菠萝怎么弄的,从前是有挂(2026已更新)-哔哩哔哩;大神普...
黑科技软件!智星德州菠萝偷偷看... 黑科技软件!智星德州菠萝偷偷看牌功能,gg扑克发牌机制测试,果然有挂(2022已更新)-哔哩哔哩;原...
黑科技ai!红龙扑克辅助器,德... 黑科技ai!红龙扑克辅助器,德扑ai智能机器人代理,都是有挂(2021已更新)-哔哩哔哩是一款可以让...
黑科技软件!红龙扑克辅助器下载... 黑科技软件!红龙扑克辅助器下载,impoker德州外挂,最初真的有挂(2024已更新)-哔哩哔哩是由...
黑科技工具!智星德州菠萝辅助器... 大家肯定在之前智星德州菠萝辅助器免费下载或者智星德州菠萝辅助器免费下载中玩过黑科技工具!智星德州菠萝...
黑科技玄学!智星德州菠萝辅助工... 黑科技玄学!智星德州菠萝辅助工具,德扑软件决策,确实存在有挂(2021已更新)-哔哩哔哩;支持多人共...
黑科技存在!红龙扑克怎么看底牌... 黑科技存在!红龙扑克怎么看底牌,德扑之星ai代打怎么弄,一贯存在有挂(2023已更新)-哔哩哔哩;值...
黑科技存在!红龙扑克机制,哈糖... 黑科技存在!红龙扑克机制,哈糖大菠萝有外挂吗,原生有挂(2021已更新)-哔哩哔哩;科技详细教程威信...