1、struct socket表示一个BSD Socket,BSD Socket是一个编程模型,可以看成是一套比较固定的函数接口;
2、struct sock是传输层的struct socket。一个sock在逻辑上应该包含:
(1)N个链表,用于存储发送数据和接受到的数据;
(2)代表传输层、网络层和链路层的函数指针集。这里的一个函数指针集对应的应该就是一个编程模型,比如UDP模型或TCP模型。
3、TCP的特点:面向连接,基于流
TCP
这种方式中,底层应该维护了一个复杂的state
machine和N个链表以保证数据的不丢失。由于TCP基于流,所以就存在自动组报问题。比如你的发送缓冲设为2 bytes,你发送了2条1
byte的消息,接受端只收到1条2bytes的消息,于是接受端需要自己解析消息。
4、 UDP的特点:没有连接,基于消息。
坏处是消息可能丢失,但是接收端不需要自己解析消息。
5、SCTP的特点:面向连接,基于消息
posted on 2007-03-09 01:01
hzb 阅读(1595)
评论(1) 编辑 收藏 引用