我正在尝试使用3.8版本的Linux内核获取TCP连接,绑定,监听和接受等不同的用户空间API。 任何人都可以提供stream程图的stream程图吗? 我能够使用send和recv APIfind数据stream。
另一个问题是,当客户端连接到服务器时,服务器为该客户端为accept API返回的特定连接创build一个新的套接字。 我的问题Linux内核维护监听套接字和从它派生的套接字之间的任何关系在一些散列绑定表或不?
为什么WSARecvMsg函数是作为函数指针实现的,这个指针可以被重用吗?
WSAENOBUFS和WSAEWOULDBLOCK有什么区别?
在哪里放置Unix域(AF_UNIX)套接字的端点(文件)?
AF_INET和PF_INET常量有什么区别?
第一个问题:
http://www.danzig.jct.ac.il/tcp-ip-lab/ibm-tutorial/3376c210.html
所有在Haifux的讲座都是经典的:
http://www.haifux.org/lectures/172/netLec.pdf
http://www.haifux.org/lectures/217/netLec5.pdf
这是自己在linux网络中的原作者/维护者:
http://vger.kernel.org/~davem/skb.html
http://vger.kernel.org/~davem/tcp_output.html
http://vger.kernel.org/~davem/tcp_skbcb.html
第二个问题:是的,所有现有的连接都保存在一个关键表中:tcp_hashinfo。 它的内存地址可以从/ proc / kallsyms中读取。 “关键”,因为从它读取需要锁定,所以即使你有地址,也不要试着走。 使用全局导出的符号,如“inet_lookup_listener”或“inet_lookup_established”来代替。
更多信息:
流程图? 流程图? 不是一个机会。 我们很想拥有它们,但是它们不存在,但是您可以查看代码; 补丁快乐地审查。
套接字返回一个文件描述符; 进程文件描述符表维护套接字和其他内核数据结构之间的关联。 文件描述符使得这是一个简单的数组索引操作,不需要散列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。