gpt4 book ai didi

java - 可区分的套接字输入

转载 作者:行者123 更新时间:2023-12-02 08:24:26 26 4
gpt4 key购买 nike

我试图通过 tcp 套接字从 android 客户端发送多个数据项到 python 服务器。客户端的用户可以做出多种选择,因此我使用作为字符发送的数字来区分请求类型。我必须根据选择发送选择和特定数据。对于当前选择(在本例中选择 1),我需要选择和 2 个字符串字段以及图像。我让图像传输独立工作,并且选择独立工作。我现在遇到的问题是,选择中的缓冲区读取也在紧随其后的图像的字节流中读取。

最佳答案

如果在发送数据包之前写入,TCP 会将您的写入合并到一个数据包中,这意味着信息将被串联接收。

常见的解决方案是在数据之前添加“操作码”。例如,在发送整数之前添加前缀 CHOICE。当您在 python 脚本中读取 CHOICE 时,您知道您正在接收一个整数,因此只读取了那么多数据。在发送图像之前,请在其前面添加 IMG 和要读取的字节数。这样您就可以根据需要读取尽可能多的字节,然后查找下一个操作码。

您的数据包应如下所示:CHOICE1IMG<number of bytes><image bytestream>

显然,您的操作码可以是您想要的任何内容,这只是一个示例。

关于java - 可区分的套接字输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4820021/

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