Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Java Network Programming, 3rd Edition
A Note Regarding Supplemental Files Preface
About the Third Edition Organization of the Book Who You Are Java Versions About the Examples Conventions Used in This Book Request for Comments Comments and Questions Acknowledgments
1. Why Networked Java?
1.1. What Can a Network Program Do?
1.1.1. Retrieve Data 1.1.2. Send Data
1.1.2.1. File storage 1.1.2.2. Massively parallel computing
1.1.3. Peer-to-Peer Interaction
1.1.3.1. Games 1.1.3.2. Chat 1.1.3.3. File sharing
1.1.4. Servers 1.1.5. Searching the Web 1.1.6. Electronic Commerce 1.1.7. Ubiquitous Computing 1.1.8. Interactive Television
1.2. Security 1.3. But Wait! There's More!
2. Basic Network Concepts
2.1. Networks 2.2. The Layers of a Network
2.2.1. The Host-to-Network Layer 2.2.2. The Internet Layer 2.2.3. The Transport Layer 2.2.4. The Application Layer
2.3. IP, TCP, and UDP
2.3.1. IP Addresses and Domain Names 2.3.2. Ports
2.4. The Internet
2.4.1. Internet Address Classes 2.4.2. Network Address Translation 2.4.3. Firewalls 2.4.4. Proxy Servers
2.5. The Client/Server Model 2.6. Internet Standards
2.6.1. IETF RFCs 2.6.2. W3C Recommendations
3. Basic Web Concepts
3.1. URIs
3.1.1. URNs 3.1.2. URLs 3.1.3. Relative URLs
3.2. HTML, SGML, and XML 3.3. HTTP 3.4. MIME Media Types 3.5. Server-Side Programs
4. Streams
4.1. Output Streams 4.2. Input Streams
4.2.1. Marking and Resetting
4.3. Filter Streams
4.3.1. Chaining Filters Together 4.3.2. Buffered Streams 4.3.3. PrintStream 4.3.4. PushbackInputStream 4.3.5. Data Streams 4.3.6. Compressing Streams 4.3.7. Digest Streams 4.3.8. Encrypting Streams
4.4. Readers and Writers
4.4.1. Writers 4.4.2. OutputStreamWriter 4.4.3. Readers 4.4.4. Filter Readers and Writers
4.4.4.1. Buffered readers and writers 4.4.4.2. LineNumberReader 4.4.4.3. PushbackReader 4.4.4.4. PrintWriter
5. Threads
5.1. Running Threads
5.1.1. Subclassing Thread 5.1.2. Implementing the Runnable Interface
5.2. Returning Information from a Thread
5.2.1. Race Conditions 5.2.2. Polling 5.2.3. Callbacks
5.3. Synchronization
5.3.1. Synchronized Blocks 5.3.2. Synchronized Methods 5.3.3. Alternatives to Synchronization
5.4. Deadlock 5.5. Thread Scheduling
5.5.1. Priorities 5.5.2. Preemption
5.5.2.1. Blocking 5.5.2.2. Yielding 5.5.2.3. Sleeping 5.5.2.4. Joining threads 5.5.2.5. Waiting on an object 5.5.2.6. Priority-based preemption 5.5.2.7. Finish
5.6. Thread Pools
6. Looking Up Internet Addresses
6.1. The InetAddress Class
6.1.1. Creating New InetAddress Objects
6.1.1.1. public static InetAddress getByName(String hostName) throws UnknownHostException 6.1.1.2. public static InetAddress[ ] getAllByName(String hostName) throws UnknownHostException 6.1.1.3. public static InetAddress getByAddress(byte[ ] address) throws UnknownHostException // Java 1.4public static InetAddress getByAddress(String hostName, byte[] address) throws UnknownHostException // Java 1.4 6.1.1.4. public static InetAddress getLocalHost( ) throws UnknownHostException
6.1.2. Security Issues 6.1.3. Getter Methods
6.1.3.1. public String getHostName( ) 6.1.3.2. public String getHostAddress( ) 6.1.3.3. public byte[] getAddress( )
6.1.4. Address Types
6.1.4.1. public boolean isAnyLocalAddress( ) 6.1.4.2. public boolean isLoopbackAddress( ) 6.1.4.3. public boolean isLinkLocalAddress( ) 6.1.4.4. public boolean isSiteLocalAddress( ) 6.1.4.5. public boolean isMulticastAddress( ) 6.1.4.6. public boolean isMCGlobal( ) 6.1.4.7. public boolean isMCOrgLocal( ) 6.1.4.8. public boolean isMCSiteLocal( ) 6.1.4.9. public boolean isMCLinkLocal( ) 6.1.4.10. public boolean isMCNodeLocal( )
6.1.5. Testing Reachability // Java 1.5 6.1.6. Object Methods
6.1.6.1. public boolean equals(Object o) 6.1.6.2. public int hashCode( ) 6.1.6.3. public String toString( )
6.2. Inet4Address and Inet6Address 6.3. The NetworkInterface Class
6.3.1. Factory Methods
6.3.1.1. public static NetworkInterface getByName(String name) throws SocketException 6.3.1.2. public static NetworkInterface getByInetAddress(InetAddress address) throws SocketException 6.3.1.3. public static Enumeration getNetworkInterfaces( ) throws SocketException
6.3.2. Getter Methods
6.3.2.1. public Enumeration getInetAddresses( ) 6.3.2.2. public String getName( ) 6.3.2.3. public String getDisplayName( )
6.3.3. Object Methods
6.4. Some Useful Programs
6.4.1. HostLookup 6.4.2. Processing Web Server Log Files
7. URLs and URIs
7.1. The URL Class
7.1.1. Creating New URLs
7.1.1.1. Constructing a URL from a string 7.1.1.2. Constructing a URL from its component parts 7.1.1.3. Constructing relative URLs 7.1.1.4. Specifying a URLStreamHandler // Java 1.2 7.1.1.5. Other sources of URL objects
7.1.2. Splitting a URL into Pieces
7.1.2.1. public String getProtocol( ) 7.1.2.2. public String getHost( ) 7.1.2.3. public int getPort( ) 7.1.2.4. public int getDefaultPort( ) 7.1.2.5. public String getFile( ) 7.1.2.6. public String getPath( ) // Java 1.3 7.1.2.7. public String getRef( ) 7.1.2.8. public String getQuery( ) // Java 1.3 7.1.2.9. public String getUserInfo( ) // Java 1.3 7.1.2.10. public String getAuthority( ) // Java 1.3
7.1.3. Retrieving Data from a URL
7.1.3.1. public final InputStream openStream( ) throws IOException 7.1.3.2. public URLConnection openConnection( ) throws IOException 7.1.3.3. public final Object getContent( ) throws IOException 7.1.3.4. public final Object getContent(Class[] classes) throws IOException // Java 1.3
7.1.4. Utility Methods
7.1.4.1. public boolean sameFile(URL other) 7.1.4.2. public String toExternalForm( ) 7.1.4.3. public URI toURI( ) throws URISyntaxException // Java 1.5
7.1.5. The Object Methods
7.1.5.1. public String toString( ) 7.1.5.2. public boolean equals(Object o) 7.1.5.3. public int hashCode( )
7.1.6. Methods for Protocol Handlers
7.1.6.1. public static synchronized void setURLStreamHandlerFactory(URLStreamHandlerFactory factory)
7.2. The URLEncoder and URLDecoder Classes
7.2.1. URLEncoder 7.2.2. URLDecoder
7.3. The URI Class
7.3.1. Constructing a URI
7.3.1.1. public URI(String uri) throws URISyntaxException 7.3.1.2. public URI(String scheme, String schemeSpecificPart, String fragment) throws URISyntaxException 7.3.1.3. public URI(String scheme, String host, String path, String fragment) throws URISyntaxException 7.3.1.4. public URI(String scheme, String authority, String path, String query, String fragment) throws URISyntaxException 7.3.1.5. public URI(String scheme, String userInfo, String host, int port, String path, String query, String fragment) throws URISyntaxException 7.3.1.6. public static URI create(String uri)
7.3.2. The Parts of the URI 7.3.3. Resolving Relative URIs
7.3.3.1. public URI resolve(URI uri) 7.3.3.2. public URI resolve(String uri) 7.3.3.3. public URI relativize(URI uri)
7.3.4. Utility Methods
7.3.4.1. public boolean equals(Object o) 7.3.4.2. public int hashCode( ) 7.3.4.3. public int compareTo(Object o) 7.3.4.4. public String toString( ) 7.3.4.5. public String toASCIIString( )
7.4. Proxies
7.4.1. System Properties 7.4.2. The Proxy Class 7.4.3. The ProxySelector Class
7.5. Communicating with Server-Side Programs Through GET 7.6. Accessing Password-Protected Sites
7.6.1. The Authenticator Class 7.6.2. The PasswordAuthentication Class 7.6.3. The JPasswordField Class
8. HTML in Swing
8.1. HTML on Components 8.2. JEditorPane
8.2.1. Constructing HTML User Interfaces on the Fly 8.2.2. Handling Hyperlinks 8.2.3. Reading HTML Directly
8.3. Parsing HTML
8.3.1. HTMLEditorKit.Parser 8.3.2. HTMLEditorKit.ParserCallback 8.3.3. HTML.Tag 8.3.4. Attributes
8.4. Cookies
9. Sockets for Clients
9.1. Socket Basics 9.2. Investigating Protocols with Telnet 9.3. The Socket Class
9.3.1. The Constructors
9.3.1.1. public Socket(String host, int port) throws UnknownHostException, IOException 9.3.1.2. public Socket(InetAddress host, int port) throws IOException 9.3.1.3. public Socket(String host, int port, InetAddress interface, int localPort) throws IOException, UnknownHostException 9.3.1.4. public Socket(InetAddress host, int port, InetAddress interface, int localPort) throws IOException 9.3.1.5. protected Socket( ) 9.3.1.6. protected Socket(SocketImpl impl) 9.3.1.7. public Socket(Proxy proxy) // Java 1.5
9.3.2. Getting Information About a Socket
9.3.2.1. public InetAddress getInetAddress( ) 9.3.2.2. public int getPort( ) 9.3.2.3. public int getLocalPort( ) 9.3.2.4. public InetAddress getLocalAddress( ) 9.3.2.5. public InputStream getInputStream( ) throws IOException 9.3.2.6. public OutputStream getOutputStream( ) throws IOException
9.3.3. Closing the Socket
9.3.3.1. public void close( ) throws IOException 9.3.3.2. Half-closed sockets // Java 1.3
9.3.4. Setting Socket Options
9.3.4.1. TCP_NODELAY 9.3.4.2. SO_LINGER 9.3.4.3. SO_TIMEOUT 9.3.4.4. SO_RCVBUF 9.3.4.5. SO_SNDBUF 9.3.4.6. SO_KEEPALIVE 9.3.4.7. OOBINLINE // Java 1.4 9.3.4.8. SO_REUSEADDR // Java 1.4
9.3.5. Class of Service 9.3.6. The Object Methods
9.3.6.1. public String toString( )
9.4. Socket Exceptions 9.5. Socket Addresses 9.6. Examples
9.6.1. Finger 9.6.2. Whois
10. Sockets for Servers
10.1. The ServerSocket Class
10.1.1. The Constructors
10.1.1.1. public ServerSocket(int port) throws BindException, IOException 10.1.1.2. public ServerSocket(int port, int queueLength) throws IOException, BindException 10.1.1.3. public ServerSocket(int port, int queueLength, InetAddress bindAddress) throws BindException, IOException 10.1.1.4. public ServerSocket( ) throws IOException // Java 1.4
10.1.2. Accepting and Closing Connections
10.1.2.1. public Socket accept( ) throws IOException 10.1.2.2. public void close( ) throws IOException
10.1.3. The get Methods
10.1.3.1. public InetAddress getInetAddress( ) 10.1.3.2. public int getLocalPort( )
10.1.4. Socket Options
10.1.4.1. SO_TIMEOUT 10.1.4.2. SO_REUSEADDR // Java 1.4 10.1.4.3. SO_RCVBUF // Java 1.4 10.1.4.4. public void setPerformancePreferences(int connectionTime, int latency, int bandwidth) // Java 1.5
10.1.5. The Object Methods
10.1.5.1. public String toString( )
10.1.6. Implementation
10.1.6.1. public static void setSocketFactory(SocketImplFactory factory) throws IOException 10.1.6.2. protected final void implAccept(Socket s) throws IOException
10.2. Some Useful Servers
10.2.1. Client Tester 10.2.2. HTTP Servers
10.2.2.1. A single-file server 10.2.2.2. A redirector 10.2.2.3. A full-fledged HTTP server
11. Secure Sockets
11.1. Secure Communications 11.2. Creating Secure Client Sockets 11.3. Methods of the SSLSocket Class
11.3.1. Choosing the Cipher Suites 11.3.2. Event Handlers 11.3.3. Session Management 11.3.4. Client Mode
11.4. Creating Secure Server Sockets 11.5. Methods of the SSLServerSocket Class
11.5.1. Choosing the Cipher Suites 11.5.2. Session Management 11.5.3. Client Mode
12. Non-Blocking I/O
12.1. An Example Client 12.2. An Example Server 12.3. Buffers
12.3.1. Creating Buffers
12.3.1.1. Allocation 12.3.1.2. Direct allocation 12.3.1.3. Wrapping
12.3.2. Filling and Draining 12.3.3. Bulk Methods 12.3.4. Data Conversion 12.3.5. View Buffers 12.3.6. Compacting Buffers 12.3.7. Duplicating Buffers 12.3.8. Slicing Buffers 12.3.9. Marking and Resetting 12.3.10. Object Methods
12.4. Channels
12.4.1. SocketChannel
12.4.1.1. Connecting 12.4.1.2. Reading 12.4.1.3. Writing 12.4.1.4. Closing
12.4.2. ServerSocketChannel
12.4.2.1. Creating server socket channels 12.4.2.2. Accepting connections
12.4.3. The Channels Class
12.5. Readiness Selection
12.5.1. The Selector Class 12.5.2. The SelectionKey Class
13. UDP Datagrams and Sockets
13.1. The UDP Protocol 13.2. The DatagramPacket Class
13.2.1. The Constructors
13.2.1.1. Constructors for receiving datagrams 13.2.1.2. Constructors for sending datagrams
13.2.2. The get Methods
13.2.2.1. public InetAddress getAddress( ) 13.2.2.2. public int getPort( ) 13.2.2.3. public SocketAddress getSocketAddress( ) // Java 1.4 13.2.2.4. public byte[] getData( ) 13.2.2.5. public int getLength( ) 13.2.2.6. public int getOffset( ) // Java 1.2
13.2.3. The set Methods
13.2.3.1. public void setData(byte[] data) 13.2.3.2. public void setData(byte[] data, int offset, int length) // Java 1.2 13.2.3.3. public void setAddress(InetAddress remote) 13.2.3.4. public void setPort(int port) 13.2.3.5. public void setAddress(SocketAddress remote) // Java 1.4 13.2.3.6. public void setLength(int length)
13.3. The DatagramSocket Class
13.3.1. The Constructors
13.3.1.1. public DatagramSocket( ) throws SocketException 13.3.1.2. public DatagramSocket(int port) throws SocketException 13.3.1.3. public DatagramSocket(int port, InetAddress interface) throws SocketException 13.3.1.4. public DatagramSocket(SocketAddress interface) throws SocketException // Java 1.4 13.3.1.5. protected DatagramSocket(DatagramSocketImpl impl) throws SocketException // Java 1.4
13.3.2. Sending and Receiving Datagrams
13.3.2.1. public void send(DatagramPacket dp) throws IOException 13.3.2.2. public void receive(DatagramPacket dp) throws IOException 13.3.2.3. public void close( ) 13.3.2.4. public int getLocalPort( ) 13.3.2.5. public InetAddress getLocalAddress( ) 13.3.2.6. public SocketAddress getLocalSocketAddress( ) // Java 1.4
13.3.3. Managing Connections
13.3.3.1. public void connect(InetAddress host, int port) // Java 1.2 13.3.3.2. public void disconnect( ) // Java 1.2 13.3.3.3. public int getPort( ) // Java 1.2 13.3.3.4. public InetAddress getInetAddress( ) // Java 1.2 13.3.3.5. public InetAddress getRemoteSocketAddress( ) // Java 1.4
13.3.4. Socket Options
13.3.4.1. SO_TIMEOUT 13.3.4.2. SO_RCVBUF 13.3.4.3. SO_SNDBUF 13.3.4.4. SO_REUSEADDR 13.3.4.5. SO_BROADCAST 13.3.4.6. Traffic class
13.4. Some Useful Applications
13.4.1. Simple UDP Clients 13.4.2. UDPServer 13.4.3. A UDP Echo Client
13.5. DatagramChannel
13.5.1. Using DatagramChannel
13.5.1.1. Opening a socket 13.5.1.2. Connecting 13.5.1.3. Receiving 13.5.1.4. Sending 13.5.1.5. Reading 13.5.1.6. Writing 13.5.1.7. Closing
14. Multicast Sockets
14.1. What Is a Multicast Socket?
14.1.1. Multicast Addresses and Groups 14.1.2. Clients and Servers 14.1.3. Routers and Routing
14.2. Working with Multicast Sockets
14.2.1. The Constructors
14.2.1.1. public MulticastSocket( ) throws SocketException 14.2.1.2. public MulticastSocket(int port) throws SocketException 14.2.1.3. public MulticastSocket(SocketAddress bindAddress) throws IOException // Java 1.4
14.2.2. Communicating with a Multicast Group
14.2.2.1. public void joinGroup(InetAddress address) throws IOException 14.2.2.2. public void joinGroup(SocketAddress address, NetworkInterface interface) throws IOException // Java 1.4 14.2.2.3. public void leaveGroup(InetAddress address) throws IOException 14.2.2.4. public void leaveGroup(SocketAddress multicastAddress, NetworkInterface interface) throws IOException // Java 1.4 14.2.2.5. public void send(DatagramPacket packet, byte ttl) throws IOException 14.2.2.6. public void setInterface(InetAddress address) throws SocketException 14.2.2.7. public InetAddress getInterface( ) throws SocketException 14.2.2.8. public void setNetworkInterface(NetworkInterface interface) throws SocketException // Java 1.4 14.2.2.9. public NetworkInterface getNetworkInterface( ) throws SocketException // Java 1.4 14.2.2.10. public void setTimeToLive(int ttl) throws IOException // Java 1.2 14.2.2.11. public int getTimeToLive( ) throws IOException // Java 1.2 14.2.2.12. public void setLoopbackMode(boolean disable) throws SocketException // Java 1.4 14.2.2.13. public boolean getLoopbackMode( ) throws SocketException // Java 1.4
14.3. Two Simple Examples
15. URLConnections
15.1. Opening URLConnections 15.2. Reading Data from a Server 15.3. Reading the Header
15.3.1. Retrieving Specific Header Fields
15.3.1.1. public String getContentType( ) 15.3.1.2. public int getContentLength( ) 15.3.1.3. public String getContentEncoding( ) 15.3.1.4. public long getDate( ) 15.3.1.5. public long getExpiration( ) 15.3.1.6. public long getLastModified( )
15.3.2. Retrieving Arbitrary Header Fields
15.3.2.1. public String getHeaderField(String name) 15.3.2.2. public String getHeaderFieldKey(int n) 15.3.2.3. public String getHeaderField(int n) 15.3.2.4. public long getHeaderFieldDate(String name, long default) 15.3.2.5. public int getHeaderFieldInt(String name, int default)
15.4. Configuring the Connection
15.4.1. protected URL url 15.4.2. protected boolean connected 15.4.3. protected boolean allowUserInteraction 15.4.4. protected boolean doInput 15.4.5. protected boolean doOutput 15.4.6. protected boolean ifModifiedSince 15.4.7. protected boolean useCaches 15.4.8. Timeouts
15.5. Configuring the Client Request HTTP Header 15.6. Writing Data to a Server 15.7. Content Handlers
15.7.1. Getting Content
15.7.1.1. public Object getContent( ) throws IOException 15.7.1.2. public Object getContent(Class[] classes) throws IOException // Java 1.3
15.7.2. ContentHandlerFactory
15.8. The Object Methods 15.9. Security Considerations for URLConnections 15.10. Guessing MIME Content Types 15.11. HttpURLConnection
15.11.1. The Request Method
15.11.1.1. HEAD 15.11.1.2. OPTIONS 15.11.1.3. DELETE 15.11.1.4. PUT 15.11.1.5. TRACE
15.11.2. Disconnecting from the Server 15.11.3. Handling Server Responses
15.11.3.1. Error conditions 15.11.3.2. Redirects
15.11.4. Proxies 15.11.5. Streaming Mode
15.12. Caches 15.13. JarURLConnection
16. Protocol Handlers
16.1. What Is a Protocol Handler? 16.2. The URLStreamHandler Class
16.2.1. The Constructor 16.2.2. Methods for Parsing URLs
16.2.2.1. protected void parseURL(URL u, String spec, int start, int limit) 16.2.2.2. protected String toExternalForm(URL u) 16.2.2.3. protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String fragmentID) // Java 1.3 16.2.2.4. protected int getDefaultPort( ) // Java 1.3 16.2.2.5. protected InetAddress getHostAddress(URL u) // Java 1.3 16.2.2.6. protected boolean hostsEqual(URL u1, URL u2) // Java 1.3 16.2.2.7. protected boolean sameFile(URL u1, URL u2) // Java 1.3 16.2.2.8. protected boolean equals(URL u1, URL u2) // Java 1.3 16.2.2.9. protected int hashCode(URL u) // Java 1.3
16.2.3. A Method for Connecting
16.2.3.1. protected abstract URLConnection openConnection(URL u) throws IOException 16.2.3.2. protected URLConnection openConnection(URL u, Proxy p) throws IOException // Java 1.5
16.3. Writing a Protocol Handler 16.4. More Protocol Handler Examples and Techniques
16.4.1. A daytime Protocol Handler 16.4.2. A chargen Protocol Handler
16.5. The URLStreamHandlerFactory Interface
17. Content Handlers
17.1. What Is a Content Handler? 17.2. The ContentHandler Class
17.2.1. A Content Handler for Tab-Separated Values 17.2.2. Using Content Handlers 17.2.3. Choosing Return Types
17.3. The ContentHandlerFactory Interface
17.3.1. The createContentHandler( ) Method 17.3.2. Installing Content Handler Factories
17.4. A Content Handler for the FITS Image Format
18. Remote Method Invocation
18.1. What Is Remote Method Invocation?
18.1.1. Object Serialization 18.1.2. Under the Hood
18.2. Implementation
18.2.1. The Server Side 18.2.2. Compiling the Stubs 18.2.3. Starting the Server 18.2.4. The Client Side 18.2.5. Running the Client
18.3. Loading Classes at Runtime 18.4. The java.rmi Package
18.4.1. The Remote Interface 18.4.2. The Naming Class
18.4.2.1. public static String[] list(String url) throws RemoteException, MalformedURLException 18.4.2.2. public static Remote lookup(String url) throws RemoteException, NotBoundException, AccessException, MalformedURLException 18.4.2.3. public static void bind(String url, Remote object) throws RemoteException, AlreadyBoundException, MalformedURLException, AccessException 18.4.2.4. public static void unbind(String url) throws RemoteException, NotBoundException, AlreadyBoundException, MalformedURLException, AccessException // Java 1.2 18.4.2.5. public static void rebind(String url, Remote object) throws RemoteException, AccessException, MalformedURLException
18.4.3. The RMISecurityManager Class 18.4.4. Remote Exceptions
18.5. The java.rmi.registry Package
18.5.1. The Registry Interface 18.5.2. The LocateRegistry Class
18.6. The java.rmi.server Package
18.6.1. The RemoteObject Class 18.6.2. The RemoteServer Class
18.6.2.1. Constructors 18.6.2.2. Getting information about the client 18.6.2.3. Logging
18.6.3. The UnicastRemoteObject Class 18.6.4. Exceptions
19. The JavaMail API
19.1. What Is the JavaMail API? 19.2. Sending Email
19.2.1. Sending Email from an Application 19.2.2. Sending Email from an Applet
19.3. Receiving Mail 19.4. Password Authentication 19.5. Addresses
19.5.1. The Address Class 19.5.2. The InternetAddress Class 19.5.3. The NewsAddress Class
19.6. The URLName Class
19.6.1. The Constructors 19.6.2. Parsing Methods
19.7. The Message Class
19.7.1. Creating Messages
19.7.1.1. Replying to messages 19.7.1.2. Getting messages from folders
19.7.2. Basic Header Info
19.7.2.1. The From address 19.7.2.2. The Reply-to address 19.7.2.3. The recipient addresses 19.7.2.4. The subject of the message 19.7.2.5. The date of the message 19.7.2.6. Saving changes
19.7.3. Flags 19.7.4. Folders 19.7.5. Searching
19.8. The Part Interface
19.8.1. Attributes 19.8.2. Headers 19.8.3. Content
19.8.3.1. Reading the contents of the part 19.8.3.2. Writing the contents of the part
19.9. Multipart Messages and File Attachments 19.10. MIME Messages 19.11. Folders
19.11.1. Opening Folders 19.11.2. Basic Folder Info 19.11.3. Managing Folders 19.11.4. Managing Messages in Folders 19.11.5. Subscriptions 19.11.6. Listing the Contents of a Folder 19.11.7. Checking for Mail 19.11.8. Getting Messages from Folders 19.11.9. Searching Folders 19.11.10. Flags 19.11.11. Event Handling 19.11.12. Utility Methods
Index About the Author Colophon
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion