For simple things, a couple of alternatives to the more elaborate TCP socket methods include "named pipes" and "mailslots". Either of these can be used to communicate between processes on the same computer or on different computers on a network (for use on same computer, part of string used is \\.\, for use between computers, the client code simply needs to have the dot replaced with the computer name.
The use of "overlapped" IO for pipes (not required, but has some advantages in terms of preventing "blocking" which can make a script into a total zombie if things go wrong) can be a little complex.
Mailslots are "one way", but it is very simple to have a client and a server at "each end". They use UDP (User Datagram Protocol), which is "less reliable" than sockets, but fine for many things (internet video is sent with UDP).
I posted at simple mailslot server and client at (or rather linked to at)
http://www.autohotkey.com/forum/viewtop ... t=mailslot
Both named pipes and mailslots behave like first-in first-out temporary files, so it is very easy to manage data flow.
If you have lots of two way communication to do and "reliability" is important, sockets are probably the best choice.
MSDN has lots of good info at
http://msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx
(There's tons of good stuff at MSDN on things that can be used in AHK by mean of DLLCall - the problem for noobs like me is where to start looking)