在vc++的套接字编程中,如何确保服务器收到客户端发送的所有数据?[英] how to ensure that the server received all the data sent by the client in socket programming in vc++

问题描述

你好,

当数据从客户端发送到服务器时,服务器如何确保它已经准确地接收到所有数据?即如何保证服务器已经收到客户端发送的所有数据.
谢谢
Dev

推荐答案

这应该由您的应用程序级通信协议定义.(http://en.wikipedia.org/wiki/Application_layer[^].)

我建议协议应该携带一些冗余和元数据.发送的序列化数据最好有"前缀".例如,在协议的顶部,您正在发送和接收一些可变数量的数据元素.从发送接收方应该期望的数据元素数量开始.同样的事情也适用于每个数据元素和它的每个部分,分层.当涉及到单个字符串时,首先发送它的长度(可能还有一些元数据信息,比如它的编码).这样,每个接收方将在每个步骤中保持每次通信的完整性.

—SA

本文地址:https://www.itbaoku.cn/post/1395044.html

相关标签/搜索