如果我在客户端的同步connect()返回之后立即调用send(),是否可以期望在服务器端的accept()之后立即调用read()会返回第一段数据?即,接收到SYN-ACK的客户端是否通常会稍等一下,以查看是否有任何有效载荷包含在ACK中,以完成三向握手?
我的协议(protocol)中的第一条消息将包含一个身份验证 token (
最佳答案
不。
即使您可以依靠行为举止良好的客户端,在网络问题中,依靠这样可靠地发生的事情也几乎是不安全的。
另外,当您使用未加密的数据时,各种中间路由器都会认为自己的业务与数据混为一谈。
使用UDP,这个问题实际上更简单,尽管显然您必须实现自己的可靠性和拥塞控制算法。