1
|
Andrew Y · 技术社区 · 15 年前 |
1
1
在标准库的约束内实现这样一个具有非阻塞特性的API(至关重要的是,它不应该启动自己的线程或进程来异步工作),这将是一个问题。
进程的名称查找和连接部分都需要等待远程响应。如果其中任何一个不阻塞,那么这就需要一种非同步工作的方式,并向调用应用程序发送套接字状态变化的信号。
你
能够
把你提议的电话回电
二
文件描述符-一个用于套接字本身,另一个用于告诉您“做”
没有什么
除了定期检查文件描述符是否可读之外。如果此文件描述符变得可读,请调用
通常的Unix方法是提供一组简单、灵活的工具,用于处理一组小的对象类型,这些类型可以组合在一起以产生复杂的效果。这和标准shell工具一样适用于编程API。 |
2
1
因为您可以构建更高级别的API,比如您在本地低级别API之上建议的API。 socket api不仅适用于TCP,还可用于其他可能具有不同端点约定的协议(即只有名称且没有服务的Unix本地协议)。或者考虑使用套接字实现自身的DNS。如果连接代码依赖于DNS,那么DNS代码如何连接到服务器? 如果您想要更高级别的抽象,那么要签出的一个库是 ACE . |
3
1
你的问题有几个问题。例如,为什么不呢
用这样的标准化API
现在,另一个问题是“有没有可能建立这样的
最后,是的,它已经存在很多类似的库 语义学。对于HTTP客户机(最常见的情况是 网络能力不是主要功能,例如XML 处理器),你有 Neon 和 libcURL .用libcurl,你可以 简单地写下如下内容: #define URL "http://www.velib.paris.fr/service/stationdetails/42" ... curl_easy_setopt(curl, CURLOPT_URL, URL); result = curl_easy_perform(curl);
哪一层比
|
mig21 bis · 带套接字的SSL_set_fd地址边界错误 2 年前 |
hollow · 在读写C中的套接字时,为什么要使用循环缓冲区? 2 年前 |
Filipe · 通过http python发送图像 6 年前 |
Mr. Rogers · epoll_wait事件的epoll顺序 6 年前 |
Michael Beer · 查找插座的传输类型 6 年前 |