This paper presents DISSense, an adaptive, ultralow-power communication protocol for wireless sensor networks. DISSense is specifically designed for long-term environmental monitoring applications and it provides for both data collection and data dissemination services. By automatically adapting the length of its active phases, DISSense can guarantee for both a very low duty cycle and reliable data delivery. We tested the performance of DISSense on both a testbed and on the TOSSIM simulation environment. Our experimental results show that a sensor network running DISSense can provide for average data delivery ratios above 98% and at the same time achieve a lifetime of several years. Our TinyOS 2.1 implementation of DISSense is publicly available.