是否有一些通用的网络编程最佳实践?

uri*_*ium 6 network-programming

我正在我们的项目中实现一些网络内容.已经确定通信非常重要,我们希望同步进行.所以客户端发送服务器确认的内容.

是否存在客户端和服务器之间交互的一般最佳实践.例如,如果客户端没有自己的答案,客户端会自动重试吗?重试之前是否应该有超时期限?如果确认失败会怎样?我们在什么时候断开连接并重新连接?有一些材料吗?我已经完成了搜索,但没有真正出现.

我正在寻找一般的最佳实践.我在c#中实现了这个(可能带有套接字),所以如果有特定的.Net,请告诉我.

kyo*_*ryu 6

网络的第一条规则 - 你正在发送消息,你不是在调用函数.

如果你以这种方式接近网络,并且不假装你可以远程调用函数或拥有"远程对象",你会没事的.你从来没有在网络连接的另一端有一个真正的"东西" - 你拥有的基本上是那个东西的图片.

您从网络获得的所有内容都是旧数据.你永远不会是最新的.因此,您需要确保消息带有正确的语义 - 例如,您可以按值递增或递减某些值,不应将其值设置为当前值加上或减去另一个值(因为当前值可能在您的消息到达时更改).