I have 2 applications on the same system that I need to communicate back and forth. From my research I believe this is called Inter Process Communication and the use of sock
Use TCP/IP. While there are other IPC mechanisms available (such as Unix domain sockets and SYSV IPC) you're better off with TCP/IP for many reasons. Here are some:
The only case where I would not use TCP/IP to communicate between two "programs" is for the case where they are really threads rather than separate programs.