The increasing popularity of the Internet has resulted in the majority of today's programming tasks and applications involving some form of networking. Almost every programming language provides some networking facilities. However, unlike other programming laquages, Java had support for network programming built into it right from the start. Java, therefore, allows you to develop powerful network applications with exceptional ease. This book introduces you to the world of Java network programming and takes you far inside it. The chapters of this book are grouped in five sections. The first section looks at network basics. Java networking preliminaries are then covered in the following section. The third section explores classes that are provided by Java to handle a variety of network tasks. Java API's that are used for distributed network programming are covered in section four. The fifth and final section investigates new networking features and improvements offered by JDK 1.4. Who is this book for? Familiarity with networking is not needed for reading this book, but a working knowledge of Java is required. The book, however, does cover core Java classes that are relevant to networking. Both the beginner and the more advanced programmer, therefore, should benefit from this book. By the end of the book, you will have acquired a deep understanding of various network concepts and protocols and developed extensive knowledge of Java APIs that you can use to develop sophisticated network applications. What does this book cover? Networking in JDK 1.3 and 1.4; Network Basics; Java I/O, Threads; Java security model, JCA, JAAS, JCE and JSSE; TCP, UDP Multicasting; Java URL handler architecture; Serialization, RMI, CORBA; Servlets, JavaMail, JMS.