I have huge trouble sleeping at night, and being a jobless student, I often find myself still asleep at 1 or 2pm, after not sleeping till 7 or 8am.
I've come to realise, the days I sleep early are the ones where i've not had a head full of computers and internet or games. Plan when you wanna go to bed and get off the computer an hour before and just wind down. Don't try to force sleep though, as you'll end up laying there for hours rolling around.
I am a huge listener and lover of dark ambient music. I normally stick a playlist on the computer and go to sleep with it on. I tried ipod, but headphones are awkward while in bed.
Screw all these drugs and crappy hot chocolate stuff, you don't need to fill your body with it.
One thing I can do sometimes, is also wind down with a film or tv show and watch it in bed. Not something new that I've not seen before that will make me want to pay full attention, but like re-watching episodes of Scrubs I've seen time and time again, or a film I know like the back of my hand. Just while watching, if you feel a bit drowsy just turn away from the tv and try to go to sleep. Perhaps not good for the electricity bill, unless you leave your computer on all night anyway (like I do), but I actually find it easier to go to sleep and be asleep while there is sound or something in my room.
The other night I fell asleep watching a some hour long tv program i'd already seen, but then once it had ended my computer went to sleep, now an imac in sleep mode is deadly silent, and the silence actually woke me up as it's weird for me. Maybe you'll find you sleep better with sounds around you too.
This is basically my life now, its the only way I can go to sleep at a respectable time.