18. Interprocess Communication and Networking
The modules described in this chapter provide mechanisms for different processes to communicate.
Some modules only work for two processes that are on the same machine, e.g. signal and mmap. Other modules support networking protocols that two or more processes can use to communicate across machines.
The list of modules described in this chapter is:
- 18.1. socket — Low-level networking interface
- 18.2. ssl — TLS/SSL wrapper for socket objects
- 18.3. select — Waiting for I/O completion
- 18.4. selectors – High-level I/O multiplexing
- 18.5. asyncio – Asynchronous I/O, event loop, coroutines and tasks
- 18.5.1. Base Event Loop
- 18.5.1.1. Run an event loop
- 18.5.1.2. Calls
- 18.5.1.3. Delayed calls
- 18.5.1.4. Tasks
- 18.5.1.5. Creating connections
- 18.5.1.6. Creating listening connections
- 18.5.1.7. Watch file descriptors
- 18.5.1.8. Low-level socket operations
- 18.5.1.9. Resolve host name
- 18.5.1.10. Connect pipes
- 18.5.1.11. UNIX signals
- 18.5.1.12. Executor
- 18.5.1.13. Error Handling API
- 18.5.1.14. Debug mode
- 18.5.1.15. Server
- 18.5.1.16. Handle
- 18.5.1.17. Event loop examples
- 18.5.2. Event loops
- 18.5.3. Tasks and coroutines
- 18.5.4. Transports and protocols (low-level API)
- 18.5.5. Streams (high-level API)
- 18.5.6. Subprocess
- 18.5.7. Synchronization primitives
- 18.5.8. Queues
- 18.5.9. Develop with asyncio
- 18.5.9.1. Debug mode of asyncio
- 18.5.9.2. Cancellation
- 18.5.9.3. Concurrency and multithreading
- 18.5.9.4. Handle blocking functions correctly
- 18.5.9.5. Logging
- 18.5.9.6. Detect coroutine objects never scheduled
- 18.5.9.7. Detect exceptions never consumed
- 18.5.9.8. Chain coroutines correctly
- 18.5.9.9. Pending task destroyed
- 18.5.9.10. Close transports and event loops
- 18.5.1. Base Event Loop
- 18.6. asyncore — Asynchronous socket handler
- 18.7. asynchat — Asynchronous socket command/response handler
- 18.8. signal — Set handlers for asynchronous events
- 18.9. mmap — Memory-mapped file support