دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: سازمان و پردازش داده ها ویرایش: نویسندگان: David Reilly. Michael Reilly سری: ISBN (شابک) : 0201710374, 9780201710373 ناشر: Addison-Wesley Professional سال نشر: 2002 تعداد صفحات: 351 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 2 مگابایت
در صورت تبدیل فایل کتاب Java Network Programming and Distributed Computing به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب برنامه نویسی شبکه جاوا و محاسبات توزیع شده نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
مقدمه ای در دسترس برای تغییر چهره نظریه شبکه، فناوری جاوا و عناصر اساسی API شبکه جاوا. منحصر به فرد برای برنامه نویسی شبکه و محاسبات توزیع شده مناسب است.
An accessible introduction to the changing face of networking theory, Java technology, and the fundamental elements of the Java networking API. Uniquely suited for network programming and distributed computing.
Table of Content......Page 3
Copyright......Page 6
What You'll Learn......Page 7
Contacting the Authors......Page 8
ACKNOWLEDGMENTS......Page 9
1.1 What Is a Network?......Page 10
1.2.1 Addressing......Page 11
1.3 Communication across Layers......Page 12
Figure 1-2. Seven layers of the OSI Reference Model......Page 13
1.3.6 Layer 6—Presentation Layer......Page 14
1.5 Internet Architecture......Page 15
Figure 1-3. Support for IP networking among various physical networks......Page 16
Figure 1-4. Format of an IPv4 datagram packet......Page 17
IP Address......Page 19
1.5.1.2 Internet Control Message Protocol (ICMP)......Page 20
1.5.1.3 Transmission Control Protocol......Page 21
1.6.2 File Transfer Protocol (FTP)......Page 22
1.6.9 WHOIS......Page 23
Figure 1-6. Data encapsulation between OSI layers......Page 24
1.8.1 Firewalls......Page 25
1.8.3 Firewalls for Developers......Page 26
1.9 Summary......Page 27
2.2.1 History and Origins of Java......Page 29
2.2.2.1 Object Orientation......Page 30
2.2.2.4 Portability......Page 31
2.2.2.6 Security......Page 32
2.2.2.7 Internet Awareness......Page 33
2.3.1 The Java Virtual Machine......Page 34
2.3.2 Java Runtime Environments......Page 35
2.4 The Java Application Program Interface......Page 36
2.5 Java Networking Considerations......Page 37
2.6.2 Games......Page 38
2.6.3 Software Agents......Page 39
2.7.1.1 What Are Exceptions?......Page 40
Figure 2-1. Exceptions may be either thrown, or caught, by a calling method.......Page 41
Figure 2-2. Exception class tree and categories......Page 42
2.7.1.3 Handling Exceptions......Page 43
Exceptions: Finally Statements......Page 44
2.8.1 Passing a System Property from the Command Line......Page 45
2.9.1.1 Borland JBuilder......Page 46
2.9.2 Java System Development Kits......Page 47
2.10 Summary......Page 48
3.2 Internet Protocol Addresses......Page 49
Table 3-1. Range of IP Addresses by Class......Page 50
3.2.3 Special IP Addresses......Page 51
3.3.2 How Does the Domain Name System Work?......Page 52
Figure 3-3. Request for www.aol.com reaches LAN DNS server and is resolved.......Page 53
Figure 3-4. DNS server returns IP address, and caches query from another machine.......Page 54
3.4.2 Using InetAddress to Determine Localhost Address......Page 55
Code for NetworkResolverDemo......Page 56
3.4.4 Other Types of Addresses in Java......Page 57
3.5 Summary......Page 58
Figure 4-2. Streams may be fitted together for additional functionality.......Page 59
Figure 4-3. Input streams inherit from InputStream, although not always directly.......Page 60
Table 4-1. Low-Level Input Streams of the java.io Package......Page 61
Methods......Page 62
Code for FileInputStreamDemo......Page 63
How FileInputStreamDemo Works......Page 64
Figure 4-6. Output streams send data one byte at a time, sequentially.......Page 65
Methods......Page 66
Code for FileOutputStreamDemo......Page 67
Running FileOutputStreamDemo......Page 68
4.3.2.1 BufferedInputStream Class......Page 69
Constructors......Page 70
Methods......Page 71
Constructors......Page 72
4.3.3.2 DataOutputStream Class......Page 73
4.3.3.3 PrintStream Class......Page 74
4.4 Readers and Writers......Page 75
4.4.3 From Input Streams to Readers......Page 76
Table 4-5. Low-Level Reader Streams of the java.io Package......Page 77
Constructors......Page 78
4.4.4.6 Combining Streams and Readers......Page 79
4.4.5 Types of Filter Readers......Page 80
Methods......Page 81
4.4.6 From Output Streams to Writers......Page 82
4.4.7 Types of Low-Level Writers......Page 83
Constructors......Page 84
Constructors......Page 85
How OutputStreamToWriterDemo Works......Page 86
4.4.8.3 PrintWriter Class......Page 87
4.5.1 What Is Object Persistence?......Page 88
4.5.3 How Serialization Works......Page 89
4.5.4.1 ObjectInputStream Class......Page 90
Constructors......Page 91
Code for SerializationDemo......Page 92
How SerializationDemo Works......Page 94
4.5.5 Securing Serialization of Objects......Page 95
4.5.6 Object Serialization and Versioning......Page 96
4.6 Summary......Page 97
Figure 5-1. UDP packet transport over a network can be unreliable.......Page 98
5.2 DatagramPacket Class......Page 100
Constructors......Page 101
5.3.1 Creating a DatagramSocket......Page 102
Methods......Page 103
Figure 5-3. UDP packets are received by a DatagramSocket and translated into a DatagramPacket object.......Page 104
Figure 5-5. Packets are sent using a DatagramSocket.......Page 105
Code for PacketReceiveDemo......Page 106
How PacketReceiveDemo Works......Page 107
Code for PacketSendDemo......Page 108
How PacketSendDemo Works......Page 110
5.7 Building a UDP Client/Server......Page 111
5.7.1 Building an Echo Service......Page 112
5.7.2 Building an Echo Client......Page 113
5.8.1 Lack of Guaranteed Delivery......Page 116
5.9 Summary......Page 117
Figure 6-1. TCP establishes a virtual connection to transmit data.......Page 119
6.1.1.3 Ease of Use......Page 120
6.1.3 Socket Operations......Page 121
6.2.1 The Client/Server Paradigm......Page 122
6.3 TCP Sockets and Java......Page 123
Constructors......Page 124
Methods......Page 125
6.4.4 Socket Options......Page 127
6.4.4.3 SO_SNDBUF Socket Option......Page 128
6.4.4.6 SO_TIMEOUT Socket Option......Page 129
Code for DaytimeClient......Page 131
6.6 ServerSocket Class......Page 132
Constructors......Page 133
6.6.3 Accepting and Processing Requests from TCP Clients......Page 134
Code for DaytimeServer......Page 135
How DaytimeServer Works......Page 136
6.8.2 BindException......Page 137
6.9 Summary......Page 138
Figure 7-1. In single-threaded execution, statements are executed sequentially.......Page 139
7.1.2 Multiprocess Programming......Page 140
7.1.3 Multi-threaded Programming......Page 141
7.2.1 Creating Multi-threaded Applications with the Thread Class......Page 142
7.2.2 Creating Multi-threaded Applications with the Runnable Interface......Page 145
7.2.3.1 Interrupting a Thread......Page 146
7.2.3.2 Stopping a Thread......Page 147
7.2.3.5 Waiting Until a Thread Is Dead......Page 149
7.3.1 Method-Level Synchronization......Page 150
Figure 7-3. Concurrent access and modification of data by threads leads to data corruption.......Page 151
Figure 7-4. A thread-safe counter is achieved by synchronizing class methods.......Page 152
7.3.2 Block-Level Synchronization......Page 154
Figure 7-5. Piped communication is only one way, but two pipes may be used.......Page 155
7.4.2 Notifying a Waiting Thread of an Event......Page 157
Figure 7-6. Thread groups can add additional threads at any time.......Page 159
Constructors......Page 160
Methods......Page 161
7.5.2.1 Demonstration of the ThreadGroup Class......Page 163
7.6.2 Obtaining the Current Thread Priority......Page 164
7.7 Summary......Page 165
8.2 Application Protocol Specifications......Page 167
Code for SMTPClientDemo......Page 168
How SMTPClientDemo Works......Page 172
Running SMTPClientDemo......Page 175
Code for Pop3ClientDemo......Page 176
How Pop3ClientDemo Works......Page 179
Running Pop3ClientDemo......Page 181
Code for WebServerDemo......Page 182
How WebServerDemo Works......Page 186
Running WebServerDemo......Page 191
8.4 Summary......Page 192
Figure 9-1. HyperText Transfer Protocol request/response cycle......Page 193
9.1.3 Web Clients......Page 194
9.1.3.3 POST Request Method......Page 195
"Cookie" Field......Page 196
"User-Agent" Field......Page 197
Table 9-3. Status Codes Used in HTTP......Page 198
"Server" Field......Page 199
"Set-Cookie" Field......Page 200
Figure 9-2. Format of the Universal Resource Locator......Page 201
Methods......Page 202
Code for URLParser......Page 203
How URLParser Works......Page 204
Code for FetchURL......Page 205
How FetchURL Works......Page 206
9.2.4 URLConnection Class......Page 207
Methods......Page 208
9.2.5 Retrieving a Resource with the URLConnection Class......Page 210
Code for FetchURLConnection......Page 211
How FetchURLConnection Works......Page 212
Code for HTTPHeaders......Page 213
How HTTPHeaders Works......Page 215
9.2.7.1 Creating a HttpURLConnection......Page 217
Fields......Page 218
Code for UsingHttpURLConnection......Page 220
How UsingHttpURLConnection Works......Page 222
Running UsingHttpURLConnection......Page 223
9.3.2 Sending Data with the POST Method......Page 224
Code for SendGET......Page 225
How SendGET works......Page 226
Code for SendPOST......Page 227
How SendPOST Works......Page 229
Running SendPOST......Page 230
9.4 Summary......Page 231
10.2 How Servlets Work......Page 232
10.3 Using Servlets......Page 233
Table 10-1. Mapping of HTTP Request Types to Servlet Methods......Page 234
10.3.1 GET and POST......Page 235
10.4 Running Servlets......Page 236
10.4.1 Downloading the Java Servlet Development Kit......Page 237
Step Five......Page 238
10.5 Writing a Simple Servlet......Page 239
Code for HelloWorld......Page 240
10.6 SingleThreadModel......Page 241
Table 10-2. CGI Variables that a Servlet Can Access......Page 242
Code for RequestDisplay......Page 243
10.8 ServletResponse and HttpResponse......Page 244
Code for ResponseExample......Page 245
10.9 ServletConfig......Page 246
Table 10-6. Method of Functions in ServletContext......Page 247
10.11 Servlet Exceptions......Page 248
10.12 Cookies......Page 249
Code for CookieTest......Page 250
Running CookieTest......Page 251
Code for SessionServlet......Page 252
10.14 Summary......Page 253
Figure 11-1. Invocation of a method on a remote object, executing on a remote machine......Page 255
11.1.2 Comparison of Remote Method Invocation with Remote Procedure Calls......Page 256
Figure 11-2. Multiple services can register with the same registry.......Page 257
Figure 11-3. The RMI client stub calls the RMI server skeleton.......Page 258
11.3 Defining an RMI Service Interface......Page 259
Code for RMILightBulbImpl......Page 260
How RMILightBulbImpl Works......Page 261
Code for LightBulbServer......Page 262
How LightBulbServer Works......Page 263
Code for LightBulbClient......Page 264
How LightBulbClient Works......Page 265
11.8 Running the RMI System......Page 266
Remote Interface......Page 267
Methods......Page 268
NoSuchObjectException Class......Page 269
UnmarshalException Class......Page 270
Methods......Page 271
Constructors......Page 272
ActivationGroupDesc Class......Page 273
Activation Exceptions......Page 274
Constructors......Page 275
Methods......Page 276
11.9.1.5 Package java.rmi.server......Page 277
Methods......Page 278
RMISocketFactory......Page 279
Constructors......Page 280
Exceptions......Page 281
11.10.1 Dynamic Class Loading......Page 282
Figure 11-4. RMI class loader decision process......Page 283
11.10.2.3 Changes in RMI from JDK1.1 to Java 2......Page 284
Code for rmi.policy......Page 285
11.10.3.3 Firewall Restrictions......Page 286
Figure 11-6. Multiple listeners can register with one or more event sources.......Page 287
Figure 11-7. Callback notification of event, for every registered listener......Page 288
11.11.2 RMI Callbacks......Page 289
11.11.2.3 Implementing the Event Source Interface......Page 290
11.11.2.4 Implementing the Listener Interface......Page 293
11.11.2.5 Running the Callback Example......Page 294
11.12.1 What Is Remote Object Activation?......Page 295
Figure 11-9. Server installation program registers activatable object with rmid, and faulting reference with rmiregistry.......Page 296
11.12.3 Creating an Activatable Remote Object......Page 297
Code for ActivatableLightBulbServer......Page 298
Step One......Page 301
Step Four......Page 302
Running ActivatableLightBulbServer......Page 303
11.13 Summary......Page 304
12.1 Overview......Page 305
Figure 12-2. Communication takes places using IIOP.......Page 306
12.2.2 CORBA Clients......Page 307
12.3.1 Overview of the Language......Page 308
Table 12-1. Java Datatypes and Their Mapping to IDL Datatypes......Page 309
12.3.7 IDL Exception Handling......Page 310
12.4.1 A Sample Schema......Page 311
Code for LightBulbServant......Page 312
How LightBulbServant Works......Page 315
Code for LightBulbClient......Page 316
How LightBulbClient Works......Page 317
Step Four......Page 318
12.5 Summary......Page 319
Figure 13-1. Relationship between the JavaMail API and other services......Page 320
13.2 Installing the JavaMail API......Page 321
Code for ProviderList......Page 322
Running ProviderList......Page 323
Methods......Page 324
Methods......Page 326
Methods......Page 327
Methods......Page 328
Methods......Page 332
Methods......Page 333
Code for SendMailDemo......Page 334
How SendMailDemo Works......Page 336
Code for ReadMailDemo......Page 338
How ReadMailDemo Works......Page 339
Running ReadMailDemo......Page 341
Figure 13-2. Event-handling overview......Page 342
13.5.1.2 JavaMail Events......Page 343
Table 13-1. Events Defined by the javax.mail Package......Page 344
How SendEventDemo Works......Page 346
Running SendEventDemo......Page 347
Code for SendAttachment......Page 348
How SendAttachment Works......Page 350
13.6 Summary......Page 351