标签: c network-programming
只有一次,当创建新连接时,我想查看流以确定连接是否是SSL连接。为此,我使用带有MSG_PEEK标志的recv()。问题是,对于不是SSL连接且没有任何初始传入数据的连接,recv会阻塞几秒钟。我该如何解决这个问题?
答案 0 :(得分:5)
如果您不希望调用阻止,您也可以提供MSG_DONTWAIT标志(不是POSIX,而是广泛实现) - 但是如何区分初始数据的SSL连接?还没有到达和非SSL连接?
MSG_DONTWAIT
为了可靠地执行此操作,您无需等待第一部分数据到达。