【问题标题】:recv()/send() is out of order after first passrecv()/send() 第一次通过后出现故障
【发布时间】:2012-11-20 13:51:35
【问题描述】:

我制作了一个基本的 tic-tac-toe 客户端-服务器游戏,我正在努力让它正常工作。一次通过它工作得非常好,但是一旦我循环回来尝试再次播放,recv() 就会出现故障(我的客户端正在发送它之前应该发送一个 send() 命令的东西)。 我已经查看了我的代码一个小时左右,但我不知道为什么。

您可能会说我是套接字和 TCP 编程的新手,所以我不知道如何处理这个问题。

关于如何解决此问题的任何提示?

【问题讨论】:

  • 示例代码会有所帮助..

标签: c send recv


【解决方案1】:

你还没有发布代码,但从你所说的来看.. recv() 不能确保它会读取其他程序的 send() 发送的所有数据。 它只返回读取的字节数。所以你需要保持计数并确保你已经阅读了所有内容。 简而言之,您将不得不使用一些预定义的协议来处理双方读取和写入的字节数。如果你还没有,我建议你买一本关于这方面的好书,它真的很有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 2010-12-06
    • 2014-08-23
    • 2016-07-19
    • 1970-01-01
    相关资源
    最近更新 更多