gpt4 book ai didi

sockets - 套接字编程最佳实践?

转载 作者:可可西里 更新时间:2023-11-01 02:36:18 27 4
gpt4 key购买 nike

我正在设计一个文件同步应用程序(如 DropBox)。客户端在端口 443 上与服务器保持持久安全 (SSL) TCP 套接字。每当在客户端创建/更改/删除文件时,包含相关数据的数据包将通过套接字发送到服务器,服务器对其进行处理以更新服务器上的文件。同样,当服务器发生变化时,它会将相关数据发送到客户端,然后客户端更新本地副本。

当服务器位于本地计算机或本地 LAN 上时,这绝对可以正常工作。我担心的是客户端在不可靠的网络上。 所以我的问题是什么是最佳实践,以及在设计此类应用程序时要考虑的问题?

例如,当客户端创建了一个文件,客户端是直接将数据发送给服务器而不管它,还是应该在一定时间内等待服务器的确认,如果失败则发送又是数据?什么样的承认?

最佳答案

TCP 抽象出许多网络问题:数据包总是按顺序到达,如果服务器未确认已收到数据包,则会重新发送。不可靠的网络会导致流量变慢,因为必须重新发送数据包。

如果连接丢失,您的 read() 和 write() 调用将返回错误返回值,因此您必须处理它。

关于sockets - 套接字编程最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095567/

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