问与答1
将socket设为非阻塞模式,然后用select进行I/O复用,如果有数据可读,那么就调用recv进行读取,但是因为是非阻塞的,所以我们要用循环 进行不断读取,那么如何知道数据读取完成了呢? 我认为当recv返回的字节数小于0,errno==EAGAIN的时候数据读取完成,不知道对不对??
将socket设为非阻塞模式,然后用select进行I/O复用,如果有数据可读,那么就调用recv进行读取,但是因为是非阻塞的,所以我们要用循环 进行不断读取,那么如何知道数据读取完成了呢? 我认为当recv返回的字节数小于0,errno==EAGAIN的时候数据读取完成,不知道对不对??