0

所以现在我已经开发了一个我正在尝试为其编写 API 的应用程序。理想情况下,应用程序会将字符串返回给用户。API 无法以正常的编程方式“返回”数据,因为可能从应用程序发送的字符串数量未知。在 Unix 系统上,通过命名管道将此数据传递给用户是一个坏主意吗?我很难找到有关创建 API 的详细信息的任何信息。谢谢你的帮助。

4

2 回答 2

3

API 无法以正常的编程方式“返回”数据,因为可能从应用程序发送的字符串数量未知。在 Unix 系统上,通过命名管道将此数据传递给用户是一个坏主意吗?

在 Unix 上,程序通常通过将数据写入“标准输出”来输出其数据,尽可能多的数据,也许是大量数据。用户可以将此输出通过管道传送到屏幕或文件,或将其作为输入传送到另一个程序(例如,可能过滤数据)。

我很难找到有关创建 API 的详细信息的任何信息。

http://www.faqs.org/docs/artu/非常有名,fwiw: http: //www.faqs.org/docs/artu/ch07s02.html#plumbing说了一些关于使用管道的事情(有一些例子),将数据从一个程序输出到另一个程序。

于 2009-05-16T00:33:23.733 回答
0

取决于应用程序。如果它是一个短命的命令行工具,那么 read-from-stdin/write-to-stdout 模型效果很好。grep/sed/awk/perl 将负责数据后处理。如果它是一个守护进程,那么 fifo 或套接字可能是一个好主意,尽管您必须考虑该流上的某种客户端-服务器协议。更进一步,提供一个知道该协议的库,并为应用程序编写者提供一些一致的函数集来与您的应用程序对话,这将是一个真正的 API。这是经典的客户端-服务器,例如,大多数数据库都是这样工作的。

于 2009-05-16T03:06:10.697 回答