We design and demonstrate a long-distance underwater optical communication system with photon-counting receiver. Monte-Carlo simulations are conducted to determine system parameters and estimate system performance. According to the simulation results, a Q-switched all solid state 532nm laser with pulse energy of 100uJ@10kHz is used as the optical source of transmitter. A telescope with 1° field of view, 100mm clear aperture, and a photon counting detector is used to collect the laser in the photon-counting receiver. We then present an experimental implementation in a long tank filled with clean water. The experimental results show that optical communication is established over a distance of 85m(~24 optical attenuation lengths) at a data rate of 80kbps.