Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/giuliocorradini/pythonsocket
Python Socket Examples using different approaches and I/O models.
https://github.com/giuliocorradini/pythonsocket
af-inet asyncio client client-server examples file-descriptor file-sharing python python-socket select select-example server sock-stream socket socket-as-file-descriptor socket-programming socketserver tcp
Last synced: 23 days ago
JSON representation
Python Socket Examples using different approaches and I/O models.
- Host: GitHub
- URL: https://github.com/giuliocorradini/pythonsocket
- Owner: giuliocorradini
- Created: 2020-09-22T09:59:03.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-19T20:22:42.000Z (over 4 years ago)
- Last Synced: 2024-11-13T15:06:10.768Z (3 months ago)
- Topics: af-inet, asyncio, client, client-server, examples, file-descriptor, file-sharing, python, python-socket, select, select-example, server, sock-stream, socket, socket-as-file-descriptor, socket-programming, socketserver, tcp
- Language: Python
- Homepage:
- Size: 45.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PythonSocket
> Examples of TCP sockets using Python and different I/O models
## Usage
Every script can be launched with up to 2 parameters: `host` and `port`.
You may provide them to either connect to a remote machine or to change
port.Default values for server scripts are host:`''`, port:`9999`.
Default values for client scripts are host:`localhost`, port:`9999`.
## Echo
The simplest TCP server is the *echo* service, every byte received
by a client is sent back to it (thus echoing its requests).This simplicity makes the echo server suitable as an *Hello, world!* for
sockets.An example is provided using the select system call.
> wait_fd_select/echo_server_select.py## Sockets for dummies
As the name suggests, this is a simple implementation of a Layer 4 protocol
(application) and provides a kickstart for socket programming, that you might
further extend.Different examples are provided using different I/O models:
- blocking I/O with *threading* in `naive_server.py`
- blocking I/O with *socketserver* in `sockserver_mod.py`## Students File Protocol (form. test result uploader)
This is a simple file transfer program that provides a quick way to move files
across the network, and provides a basic and raw authentication mechanism.Both server and client are provided in `students_file_trasnfer` directory.
## Wait file descriptors with SELECT
A non-blocking I/O model using POSIX syscall select is a portable way of
programming networked applications.