Java环境中开发服务端与客户端界面

在Java环境中要做TCP通信,并做出服务端与客户端的界面要怎么做啊?
我们现在可以在两台不同的电脑上实现双机通信,但想要做出两个应用程序来通过输入IP地址和端口号来实现通信的程序该怎么做?需要下载什么吗?

socket