何时会发送RST?
RST是tcp头部的一个标志
在端口未监听的时,会发送RST
在收到了本地没有连接的包也会发送RST
在连接关闭后也会发送RST
接收方出现网络问题,也会给发送方给RST
accept返回的socket是SYN_RCVD还是ESTABLISHED的?
由于tcp状态机是内核维护的,状态变迁不会调用应用层接口,应用层只可能触发,但不可能去响应状态的变化
连接的建立是内核完成的
阻塞与同步异步的概念的区别?
阻塞是指挂起线程,线程已经释放了CPU,并且后续会唤醒线程,
同步是指占用的处理时间是当前线程的,但是当前CPU并未释放,异步是指同样的处理占用的时间是其他的线程的
异步相当于线程还可以干其他事,并未被阻塞
一旦是非阻塞的连接,那么socket层的api都会有返回值,到底有哪些返回值呢,它们的定义如何?
可参考/usr/include/asm-generic/errno.h中的描述
阅读(1137) | 评论(0) | 转发(0) |