我想在 c/c++ 中使用 win socket 制作一个聊天程序。(我完全是新手。)第一个问题是关于如何检查客户端是否从服务器接收到数据包。例如,服务器向客户端发送“aaaa”。如果客户端没有收到数据包“aaaa”,服务器应该再次重新发送数据包。(我认为)。但是,我不知道如何检查它。这是我的想法。第一种情况。
服务器---“aaaa”--->客户端。
服务器将检查等待来自客户端的确认消息的时间。
客户端---“我收到了”--->服务器。
服务器不会重新发送数据包。
另一种情况。
服务器---“aaaa”--->客户端。
服务器正在等待客户端消息,直到超时
服务器---“aaaa”--->再次客户端。
但这些可能是不合适的。看第二种情况。服务器正在等待来自客户端的消息一段时间。如果超时,服务器将再次重新发送数据包。在这种情况下,客户端可能会收到两次数据包。
第二个问题是如何发送无限大小的数据包。一本书说数据包应该有类型、大小和消息。跟着它,我只能发送一定大小的味精。但我想发送 1Mbytes 或更多的味精。(无限制)
怎么做?
任何人都有任何好的链接或尽可能简单地向我解释正确的逻辑。
谢谢。