kn-sock¶
A simplified socket programming toolkit for Python that makes network communication easy and efficient.
Features¶
- TCP/UDP Messaging: Supports both synchronous and asynchronous communication
- Secure Communication: SSL/TLS support for encrypted connections
- JSON Socket Communication: Easily send and receive JSON data over sockets
- File Transfer: Transfer files between clients and servers with progress tracking
- Live Streaming: Multi-video streaming with adaptive bitrate
- Video Chat: Real-time multi-client video chat with voice
- WebSocket Support: Full WebSocket server and client implementation
- HTTP/HTTPS: Simple HTTP client and server helpers
- Pub/Sub & RPC: Publish/subscribe messaging and remote procedure calls
- Message Queuing: Advanced queue management for reliable message delivery
- Load Balancing: Distribute connections across multiple servers
- Data Compression: Built-in compression for bandwidth optimization
- Protocol Buffers: Support for efficient binary serialization
- Decorators & Utilities: Helper decorators and utility functions
- Docker Support: Ready-to-use Docker containers and compose files
- Interactive CLI: Real-time interactive command-line interface
- Command-Line Interface: Simple CLI for quick socket operations
- Connection Pooling: Efficient connection reuse for high-performance applications
- Network Visibility: ARP scanning, MAC lookup, and DNS monitoring tools
Installation¶
Quick Start¶
Here's a simple example to get you started:
# Server
from kn_sock import start_tcp_server
def handle_message(data, addr, client_socket):
print(f"Received from {addr}: {data.decode('utf-8')}")
client_socket.sendall(b"Message received!")
start_tcp_server(8080, handle_message)
Docker Quick Start¶
For detailed Docker usage, see the Docker guide.
What's Next?¶
- Getting Started - Learn the basics and set up your first project
- Docker Setup - Get started with Docker containers and deployment
Protocol Documentation¶
- TCP Protocol - Reliable connection-based communication
- UDP Protocol - Fast connectionless messaging
- WebSocket Protocol - Real-time bidirectional communication
- JSON Communication - Structured data exchange
- File Transfer - Efficient file sharing
- Secure TCP (SSL/TLS) - Encrypted communication
Advanced Features¶
- Pub/Sub Messaging - Event-driven messaging patterns
- Remote Procedure Calls - Call remote functions seamlessly
- Live Streaming - Multi-video streaming with adaptive bitrate
- Video Chat - Real-time video conferencing
- HTTP/HTTPS - Web server and client functionality
Reference & Examples¶
- API Reference - Complete function and class documentation
- CLI Guide - Command-line interface usage
- Examples - Real-world usage examples
- Troubleshooting - Common issues and solutions
Network Visibility Tools¶
⚠️ ETHICAL WARNING: These tools are intended for use in authorized networks such as schools, labs, or controlled IT environments. Monitoring user traffic may be illegal without explicit consent. Use responsibly and ethically.
Network Monitoring¶
- ARP Scanning - Discover active devices on your network
- MAC Address Lookup - Identify device vendors by MAC address
- DNS Monitoring - Monitor and analyze DNS requests