部署在节点机器上的“checkResult”服务被定义为将节点上的结果返回给发送请求的集群控制器。节点上的结果,以文件的形式,在长度上可能会有很大的不同,这通常是每日日志文件的情况。
起初,我认为只使用一个字符串来打包文件的全部内容可能没问题,所以我定义了
checkResult(inType *in,OutType *out)
其中 OutType* 是 char*。然后我意识到这个字符串可能是 KB 长度甚至更多。所以我想知道在这里使用字符串是否合适。
我用谷歌搜索了很多,找不到 wsdl 中允许的最大长度(可能也与本地最大缓冲区长度冲突),也没有找到任何有关传输文件类型参数的信息。
可能建议使用 struct 类型,但是当内部的某些元素可能为 nil 且不存在时,它可能会嵌套在文件中并且难以解析。
当您需要在 Web 服务中返回文件类型结果或大量数据时,您会怎么做?
ps 服务器和客户端都在 C 中。