gpt4 book ai didi

java - Socket 的事件在 Flash 中排队吗?

转载 作者:行者123 更新时间:2023-11-30 05:14:58 25 4
gpt4 key购买 nike

我正在尝试使用 TCP/IP 套接字在 Flash 应用程序和自定义 Java 服务器之间实现二进制协议(protocol),该协议(protocol)的消息长度可变,所以我的想法是添加一个字段来指示我拥有的字节数在解析完整消息之前阅读,如下所示:

bytesToRead = socket.readInteger();
var bf:ByteArray;
socket.readBytes(bytesToRead);
parseMessage(bf);

所以我的问题是:如果在处理消息时(假设它已完成)其他数据通过套接字到达,则 ProgressEvent.SOCKET_DATA 类型的消息已排队,因此调用我的处理程序的次数是相等的(至少在这个情况)到到达的消息数,或者我应该读取直到套接字拥有可用的所有数据?或更简单:处理程序的一般消息是否在闪存中排队?

最佳答案

每次套接字接收数据时都会调度 ProgreeEvent.SOCKET_DATA 事件。基本上每次你的Java服务器调用socket.write();或 socket.writeln(),您应该在 ProgreeEvent.SOCKET_DATA 中接收整个消息,除非您当然正在发送部分消息。

希望这能回答您的问题。

关于java - Socket 的事件在 Flash 中排队吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1829641/

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