Few suggestions:
1. You may want a disconnect method (sorry if you have one already, and I don't see it).
2. Your data is better off being private, to adhere to concept of encapsulation. It is good that you made your makeStreams() method private, as the user/object will never be using that. Similarly, the user will never be using the first four fields. It is best to keep your data private and have a public interface instead, so that if you have to change your object's data, then these changes will be kept local, since you will already have a set-in-stone interface that other objects know about that will change/access the data.
3. There are ways of designing java programs that minimize the amount of static stuff that you need. From your code I see that parts of your GUI (ConsoleUI) and your socket interface are both static. Using the Model-View-Controller (MVC) design pattern, you can optimize a program's OO'ness. Static stuff smells like global variables, and although it is proven that a program can be written completely "staticly" (as you see in procedural programming), in Java it is best to minimize your use of static stuff. The more OOP a program is, the less work you have to do (hm, well, in theory), and the more flexible it is. This becomes much more evident in very large appplications, like the ones that require a team of programmers.
EDIT
* shrugs at posting 16 days after the last post =p *