我对网络很陌生,所以这听起来很简单。虽然我试图查看here和here以及here并且几乎没有TCP的基础知识,但很少有问题我的答案我不确定。
是否建立连接,保持活动状态,直到所有数据包都已发送,请求已发送并且每个请求都关闭连接,并且响应也是如此。
或
打开连接,发送请求,保持连接,响应到达,连接关闭。
答案 0 :(得分:0)
- 是2个不同TCP机构的请求和响应的一部分
醇>
您只需要3个数据包进行握手并建立双向TCP连接。所以不,你没有为接收和发送部件建立TCP连接。
另一方面,有一个sutdown()系统调用,它允许关闭部分双向连接。见man shutdown(2)。因此,有可能通过打开双向然后关闭其中一个边来建立单向连接。
- ACK号码始终为1 +已发送段的序列号。
醇>
我们通常不会为每个收到的数据包发送ACK。还有选择性ACK,重传等。所以一般来说,答案是否定的,ACK号并不总是seq + 1.
另一方面,如果您要发送少量数据并等待确认,没有发生错误或丢包,那么很可能只有一个包含该数据的数据包和一个带有seq + 1的ACK。 / p>
希望有所帮助。