Fundamental Java network programming