gpt4 book ai didi

flash - Actionscript TCP 套接字无法为某些人发送消息

转载 作者:可可西里 更新时间:2023-11-01 02:34:56 24 4
gpt4 key购买 nike

我编写了一个套接字服务器,它使用 Socket 类与我的 actionscript 3 flash 游戏进行通信。这是一个 TCP 连接,我认为这意味着 100% 确定发送的消息将被服务器接收,因为这是在低级别完成的。因此,如果发送失败,它将重新发送消息。

对于我和我测试过我的构建的另外两个人来说,情况确实如此。然而,对于一个人来说,有时(罕见但不可忽视)服务器没有收到消息,即使这似乎不会发生在其他人的系统上。然而,这个人在玩其他专业多人游戏时从未遇到过任何问题,这意味着这一定是我的构建问题。

我能做些什么来确保消息被正确发送,我关于 TCP 100% 安全的说法是错误的吗,因为消息应该在低级别失败时重新发送?

最佳答案

你是对的,这是一个常见问题,但问题是一个普遍问题,与 Flash 无关。 我发送了一条消息但从未收到,我该怎么办?您需要检查您的客户端代码是否确实发送了消息;您需要检查消息是否离开了客户端机器;您需要检查消息是否到达了服务器机器;并且您需要检查服务器应用程序是否收到消息。您还需要确保客户端和服务器之间的连接/套接字仍然有效。

在尝试诊断此问题时,假设 TCP 失败是错误的起点。如果您使用的是 UDP,那么情况就不同了,因为 UDP 不保证交付(但您已经知道,对吧?)。

重复之前的建议,您应该使用 Wireshark(或等效工具)来确定消息是否离开客户端计算机。您可以在您的服务器上启动,以确保那里没有发生任何有趣的事情;但是,如果在服务器端确实没有消息的踪迹,那么您将需要提供某种客户端工具来查看那里发生了什么。

关于flash - Actionscript TCP 套接字无法为某些人发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1519125/

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