【发布时间】:2015-02-08 18:09:58
【问题描述】:
我又在看套接字编程了。我得到了细节(嗯,我可以从各种网站复制它们,而且我知道代码启用了 Unix 低级程序),但我没有得到 POSIX 逻辑和 API 中的思考。
为什么他们没有在这些低级套接字函数的基础上定义一个稍微高级一点的接口?
据推测,此类代码可以将经常重复(且容易出错)的代码分解为更方便的FILE类接口。当较低级别的使用在 > 90% 的使用中相同时,保理似乎比仅仅方便更合适。我在应用程序中看到的几乎所有使用的套接字都打开一个套接字,读取和写入它并关闭套接字。另外,为什么需要绑定,而这确实是 open 调用总是做的事情?当前界面甚至涵盖了哪些情况下,看起来几乎像 FILE 界面的界面无法轻松覆盖?
一种解释是,例如,有些用途不会绑定到套接字,或者类似 fgets/fputs/fprintf/fscanf 的功能需要额外的东西(超时)?
我失踪一定是有原因的。否则,20 年后,已经有一个或多个标准库可以促进这一点,并且会被广泛使用。我在 google 上找不到一个模仿所有 FILE 例程的程序。
【问题讨论】:
标签: c sockets posix standard-library