(1)B类型的线程可以有多个。   发送数据也在B类的线程里面实现。既然用select接收数据了,发送数据为什么不select了?
(2)通过长度等的验证,超时判断之类的
(3)检查错误码,比如接收数据长度返回-1,或者返回0时  检查一下
(4)