B-MAC was a kind of MAC protocol which was widely used in Wireless Sensor Networks (WSNs), and some high requirements had been provided for users. However, there were always challenges due to the high energy consumption and packets loss rate. A new MAC protocol called B-MAC++ based on B-MAC was proposed in this paper. The preamble mechanism was improved and funneling effect alleviation mechanism was brought out in B-MAC++. For the combination of the strengths of TDMA and CSMA, the preamble mechanism improvement achieved better energy-efficient, and made up to the weakness of WSNs, and a kind of CSMA/TDMA mechanism was introduced to alleviate funneling effect, and the sink-node’s packet loss had been reduced. Experiments show that B-MAC++ is better than B-MAC in the performance of energy consumption and packet loss rate.