Learning Network Programming with Java 1st Edition Richard M Reeseinstant download
Learning Network Programming with Java 1st Edition Richard M Reeseinstant download
https://ebookmeta.com/product/learning-network-programming-with-
java-1st-edition-richard-m-reese-2/
https://ebookmeta.com/product/learning-network-programming-with-
java-1st-edition-richard-m-reese-2/
https://ebookmeta.com/product/neural-network-programming-with-
java-second-edition-fabio-m-soares/
https://ebookmeta.com/product/learning-reactive-programming-with-
java-8-1st-edition-nickolay-tsvetinov/
https://ebookmeta.com/product/the-little-book-of-real-estate-
investing-in-canada-1st-edition-don-r-campbell/
The Organizational Zoo A survival guide to workplace
behavior Arthur Shelley
https://ebookmeta.com/product/the-organizational-zoo-a-survival-
guide-to-workplace-behavior-arthur-shelley/
https://ebookmeta.com/product/alpha-wolf-1st-edition-sammie-
joyce/
https://ebookmeta.com/product/swallow-lane-a-liars-island-
suspense-1st-edition-marie-snow/
https://ebookmeta.com/product/philippines-culture-smart-the-
essential-guide-to-customs-culture-graham-colin-jones-yvonne-
quahe-colin-jones-jorge-mojarro/
https://ebookmeta.com/product/a-wedding-to-die-for-wedding-bells-
and-magic-spells-book-1-3-1st-edition-a-r-winters/
Megalithic Tombs in Western Iberia Excavations at the
Anta Da Lajinha 1st Edition Chris Scarre Luiz
Oosterbeek
https://ebookmeta.com/product/megalithic-tombs-in-western-iberia-
excavations-at-the-anta-da-lajinha-1st-edition-chris-scarre-luiz-
oosterbeek/
Table of Contents
Learning Network Programming with Java
Credits
About the Author
About the Reviewer
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Getting Started with Network Programming
Network addressing using the InetAddress class
NIO support
Using the URLConnection class
Using the URLConnection class with buffers and channels
The client/server architecture
Creating a simple echo server
Creating a simple echo client
Using Java 8 to support the echo server and client
UDP and multicasting
Creating a multicast server
Creating the multicast client
Scalability
Creating a threaded server
Using the threaded server
Security
Creating a SSL server
Creating an SSL client
Generating secure keys
Summary
2. Network Addressing
Networking basics
Understanding network basics
Network architectures and protocols
Using the NetworkInterface class
Getting a MAC address
Getting a specific MAC address
Getting multiple MAC addresses
Network addressing concepts
URL/URI/URN
Using the URI class
Creating URI instances
Splitting apart a URI
Using the URL class
Creating URL instances
Splitting apart a URL
IP addresses and the InetAddress class
Obtaining information about an address
Address scoping issues
Testing reachability
Introducing the Inet4Address
Private addresses in IPv4
IPv4 address types
The Inet4Address class
Special IPv4 addresses
Introducing the Inet6Address class
Private addresses in IPv6
The Inet6Address class
Special IPv6 addresses
Testing for the IP address type
Using IPv4-compatible IPv6 addresses
Controlling network properties
Summary
3. NIO Support for Networking
Java NIO
Introduction to buffers
Using channels with a time server
Creating a time server
Creating a time client
The chat server/client applications
The chat server
The chat client
Server/client interaction
The HelperMethods class
Handling variable length messages
Running the chat server/client application
Handling multiple clients
The parts server
The parts client handler
The parts client
Running the parts client/server
Asynchronous socket channels
Creating the asynchronous server socket channel server
Creating the asynchronous socket channel client
Other buffer operations
Bulk data transfer
Using a view
Using read-only buffers
Controlling socket options
Summary
4. Client/Server Development
The HTTP protocol structure
The nature of HTTP messages
Initial request line format
Header lines
Message body
Client/Server interaction example
Java socket support for HTTP client/server applications
Building a simple HTTP server
Building a simple HTTP client
Client/server development using standard Java classes
Using the HttpURLConnection class
URL encoding
Using the HTTPServer class
Implementing a simple HTTPServer class
Managing response headers
Open source Java HTTP servers
Server configuration
Handling cookies
Summary
5. Peer-to-Peer Networks
P2P functions/characteristics
Applications-based P2P networks
Java support for P2P applications
Distributed hash tables
DHT components
DHT implementations
Using JDHT
Using FreePastry
The FreePastry demonstration
Understanding the FreePastryExample class
Understanding the FreePastryApplication class
Sending a message to a specific node
Summary
6. UDP and Multicasting
Java support for UDP
TCP versus UDP
UDP client/server
The UDP server application
The UDP client application
The UDP client/server in action
Channel support for UDP
The UDP echo server application
The UDP echo client application
The UDP echo client/server in action
UDP multicasting
The UDP multicast server
The UDP multicast client
The UDP multicast client/server in action
UDP multicasting with channels
The UDP channel multicast server
The UDP channel multicast client
The UDP channel multicast client/server in action
UDP streaming
The UDP audio server implementation
The UDP audio client implementation
Summary
7. Network Scalability
Multithreaded server overview
The thread-per-request approach
The thread-per-request server
The thread-per-request client
The thread-per-request applications in action
Thread-per-connection approach
The thread-per-connection server
The thread-per-connection client
The thread-per-connection applications in action
Thread pools
The ThreadPoolExecutor class characteristics
Simple thread pool server
Simple thread pool client
The thread pool client/server in action
Thread pool with Callable
Using a Callable
Using a Future
Using the HttpServer executor
Using a selector
Creating the selector
Registering a channel
Using the selector to support a time client/server
The channel time server
The date and time client application
The date and time server/client in action
Handling network timeouts
Summary
8. Network Security
Security
Secure communication terminology
Encryption basics
Symmetric encryption techniques
Generating a key
Encrypting text using a symmetric key
Decrypting text
Asymmetric encryption techniques
Generating and saving asymmetric keys
Encrypting/decrypting text using an asymmetric key
Saving asymmetric keys to a file
Creating a keystore
Creating and maintaining a keystore with keytool
Keytool command-line arguments
Creating and maintaining a keystore with Java
Symmetric encryption client/server
Symmetric server application
Symmetric client application
Symmetric client/server in action
Asymmetric encryption client/server
Asymmetric server application
Asymmetric client application
Asymmetric client/server in action
TLS/SSL
SSL server
SSL client
SSL client/server in action
Secure hash functions
Summary
9. Network Interoperability
Byte order in Java
Interfacing with other languages
Interfacing with JVM based languages
Interfacing with non-JVM languages
Communication through simple sockets
The Java server
The C# client
The client/server in action
Interoperability through middleware
Creating a RESTful service
Testing the RESTful service
Creating a RESTful client
Summary
Index
Learning Network Programming with Java
Learning Network Programming with Java
Copyright © 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system,
or transmitted in any form or by any means, without the prior written permission of the
publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the
information presented. However, the information contained in this book is sold without
warranty, either express or implied. Neither the author, nor Packt Publishing, and its
dealers and distributors will be held liable for any damages caused or alleged to be
caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
Livery Place
35 Livery Street
ISBN 978-1-78588-547-1
www.packtpub.com
Credits
Author
Richard M Reese
Reviewer
Daniel MÜHLBACHLER
Commissioning Editor
Veena Pagare
Acquisition Editors
Vivek Anantharaman
Rahul Nair
Technical Editor
Humera Shaikh
Copy Editor
Priyanka Ravi
Project Coordinator
Shipra Chawhan
Proofreader
Safis Editing
Indexer
Production Coordinator
Nilesh Mohite
Cover Work
Nilesh Mohite
About the Author
Richard M Reese has worked in both industry and academia. For 17 years, he worked in
the telephone and aerospace industries, serving in several capacities, including research
and development, software development, supervision, and training. He currently teaches
at Tarleton State University, where he has the opportunity to apply his years of industry
experience to enhance his teaching.
Richard has written several Java books and a C Pointer book. He uses a concise and easy-
to-follow approach to topics at hand. His Java books have addressed EJB 3.1, updates to
Java 7 and 8, certification, functional programming, jMonkeyEngine, and natural language
processing.
I would like to thank my daughter, Jennifer, for her numerous reviews and
contributions; my wife, Karla, for her continued support; and to the staff of Packt for
their work in making this a better book.
About the Reviewer
Daniel MÜHLBACHLER got interested in computer science shortly after entering high
school, where he later developed web applications as part of a scholarship system for
outstanding pupils.
Furthermore, he works with some database management systems based on SQL, and
also some NoSQL systems, such as MongoDB, and SOLR. This is also reflected in several
projects that he is currently involved in at Catalysts GmbH.
After studying abroad as an exchange student in the United Kingdom, he completed his
bachelor's degree at Johannes Kepler University in Linz, Austria, with a thesis on aerosol
satellite data processing for mobile visualization. This is where he also became familiar
with processing large amounts of data.
Daniel enjoys solving challenging problems and is always keen on working with new
technologies, especially related to the fields of big data, functional programming,
optimization, and NoSQL databases.
More detailed information about his experience, as well as his contact details, can be
found at www.muehlbachler.org and www.linkedin.com/in/danielmuehlbachler.
www.PacktPub.com
Support files, eBooks, discount offers, and more
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and
ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as
a print book customer, you are entitled to a discount on the eBook copy. Get in touch with
us at <service@packtpub.com> for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for
a range of free newsletters and receive exclusive discounts and offers on Packt books and
eBooks.
https://www2.packtpub.com/books/subscription/packtlib
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book
library. Here, you can search, access, and read Packt's entire library of books.
Why subscribe?
The goal of this book is to provide the reader with the necessary skills to develop Java
applications that connect and work with other applications and services across a network.
You will be introduced to a wide range of networking options that are available using
Java, which will enable you to develop applications using the appropriate technology for
the task at hand.
Discovering Diverse Content Through
Random Scribd Documents
The Project Gutenberg eBook of Erziehung und
Unterricht der Blinden
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
Language: German
Von
Friedrich Zech
Direktor der Prov.-Wilhelm-Augusta-Blindenanstalt
in
Danzig-Königsthal.
Danzig.
Verlag und Druck von A. W. Kafemann G. m. b. H.
1913
Vorwort.
D a n z i g - K ö n i g s t h a l, im Februar 1913.
Fr. Zech.
Inhalt.
Einleitung. Seite
1. Begriff der Blindheit 7
2. Die häufigsten Ursachen der
Erblindung 8
3. Statistik des Blindenwesens 16
I. Der Gegenstand der Erziehung:
der Blinde.
1. Einfluß der Blindheit auf die
körperliche Entwickelung 22
2. Einfluß der Blindheit auf die
geistige Entwickelung 27
3. Folgen der Blindheit in
sozialer Beziehung 44
4. Die erste Erziehung des
blinden Kindes 52
II. Aufgaben der Blindenbildung 58
Abkürzungen:
Bldfrd. = Der „Blindenfreund“, Zeitschrift für
Verbesserung des Loses der Blinden.
Düren (Rheinland). Jährlich 12
Nummern.
Kongr.-Ber. = Berichte über die Verhandlungen der
Blindenlehrer-Kongresse.
I. Angeboren. Prozent
II. Augenkrankheiten
ohne Körperleiden.
Grüner Star (Glaucoma) –1,2
Sehnervenschwund
–––3,9
(Atrophia nervi optici)
Augenentzündung der
Neugeborenen
––––––––––––––––––––––––––––––38,1
(Blennorrhoea
neonatorum)
III. Durch
Körperkrankheiten.
Typhus –1,4
Scharlach ––2,3
Pocken ——3,1
Skrophulose ––––4,6
Gehirnentzündung —–––4,9
Masern ———–6,1