Skip to main content

Über dieses Buch

Answering the need for an accessible overview of the field, this text/reference presents a manageable introduction to both the theoretical and practical aspects of computer networks and network programming. Clearly structured and easy to follow, the book describes cutting-edge developments in network architectures, communication protocols, and programming techniques and models, supported by code examples for hands-on practice with creating network-based applications. Features: presents detailed coverage of network architectures; gently introduces the reader to the basic ideas underpinning computer networking, before gradually building up to more advanced concepts; provides numerous step-by-step descriptions of practical examples; examines a range of network programming techniques; reviews network-based data storage and multimedia transfer; includes an extensive set of practical code examples, together with detailed comments and explanations.



Chapter 1. Introduction

Currently, computer networking has already become ubiquitous, the number of diverse devices is increasing constantly, as are also their capabilities, the range of applications and network-based services is expanding, and user expectations are rapidly evolving. This is the context in which the authors set the scene for this network programming book in its introductory chapter.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 2. Network Architectures

The networks have evolved significantly since the first network architecture has been proposed. Lately, the architecture is seen more as a framework which specifies not only the network topology, network type, network components, and their functionality, but also presents data communication protocols, data formats used, and supported services. This chapter introduces network topologies, network types, and network components, and discusses several network communication technologies.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 3. Network Communications Protocols and Services

As the previous chapter has introduced network topologies, types, components, and major communication technologies, this chapter completes the network architecture description by presenting network protocols and various services supported by the current networks. The hierarchical organization of network protocols is detailed focusing on the most known reference models and the layered communication paradigm. Furthermore, the various protocol layers are detailed, especially at transport and application layers which involve protocols and services mostly detailed in this book. Last, but not least, the principles of the most popular network-based services are summarized, including electronic mail, Web, and the increasingly popular multimedia-based services.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 4. Basic Network Programming

This chapter introduces some of the basic principles used for developing network-based applications. Multi-programming and multi-tasking paradigms are introduced as two of the basic concepts of programming. Threads and processes are discussed, emphasizing multi-threaded application development in Java. Inter-thread and inter-process communication techniques and paradigms are also presented, as some of the basic mechanisms for network applications communication.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 5. Sockets

In order to support the inter-process communication, specific support has to be provided by both the operating system and the programming language used. This chapter presents and discusses sockets, as one of the major solutions employed by network programming for the inter-process communications. Sockets provide the application developer with direct basic access to transport protocols, offering data packet transport services between a sender and a receiver host over the network, while hiding the complexity and implementation details of the protocol stack below. Sockets’ examples are presented in details when two of the most popular transport protocols are employed in turn: the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 6. Socket-Based Client–Server Communication

Sockets offer the basic mechanisms for data communication between two processes, each running on a distinct machine. This chapter describes the socket-based client–server communication mechanism and details the basics of client–server applications programming, including multi-threaded servers. Unicast, multicast, and broadcast communication paradigms are also introduced in this chapter.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 7. Support for Communication-Based Services

In most cases, network communication is all about providing and accessing services. This chapter introduces the support offered by the Java programming language for various communication-based services. Control and diagnostic services including Packet InterNet Groper and Internet Control Message Protocol are presented. Electronic mail services making use of the SMTP and POP3 protocols, file transfer services using FTP, and web content transfer via HTTP are described. Java database connectivity services and programming support for database management systems communication are also discussed. The chapter ends with a presentation of the increasingly popular multimedia content delivery services.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 8. Server-Side Network Programming

Server-side network programming involves designing and implementing programs to be run on a server. Server-side applications run as processes on a dedicated physical machine, virtual machine, or cloud infrastructure. Server-side applications receive requests from the clients and perform tasks as requested by the clients. This chapter introduces various server-side methods and techniques used to generate and deliver web documents to requesting clients, including Java specific solutions such as Java Servlets and Java Servlet Pages. Detailed examples are presented for both technologies.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 9. Client-Side Network Programming

Client-side network programming involves designing and writing code to be run on the client machine during client–server communication process. This chapter introduces various types of web documents used and conveyed over the Internet as well as their descriptive languages and characteristics. Java specific solutions for active and dynamic documents are introduced along with comprehensive examples to illustrate their capabilities and functionality. This includes Java Script language as well as Java Applets.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 10. Advanced Client–Server Network Programming

Client–server communication is at the basis of service provisioning over the Internet. Clients connect to servers and request specific services or tasks to be performed. Sockets have been introduced as basic communication support for client–server data exchange. This chapter introduces advanced client–server network programming techniques. These include the Remote Method Invocation paradigm which allows the clients to invoke methods on servers and retrieve the results and Java applet–servlet communication techniques alongside comprehensive examples.

Bogdan Ciubotaru, Gabriel-Miro Muntean

Chapter 11. Conclusion

This chapters concludes the book, summarizing its content chapter by chapter.

Bogdan Ciubotaru, Gabriel-Miro Muntean


Weitere Informationen

Premium Partner

Neuer Inhalt

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.



Best Practices für die Mitarbeiter-Partizipation in der Produktentwicklung

Unternehmen haben das Innovationspotenzial der eigenen Mitarbeiter auch außerhalb der F&E-Abteilung erkannt. Viele Initiativen zur Partizipation scheitern in der Praxis jedoch häufig. Lesen Sie hier  - basierend auf einer qualitativ-explorativen Expertenstudie - mehr über die wesentlichen Problemfelder der mitarbeiterzentrierten Produktentwicklung und profitieren Sie von konkreten Handlungsempfehlungen aus der Praxis.
Jetzt gratis downloaden!