Skip to content

Files

Latest commit

8677e14 · Mar 12, 2022

History

History

3_Berkeley-sockets_Multiplexing

Berkeley sockets. Multiplexing.

Description

Some servers with using topics learned:

1. Echo server Simple echo server
2. Messenger with Select Messenger with multiplexing using select function
3. Messenger with Poll Messenger with multiplexing using poll function

Result

Echo server

  • class EchoServer with:
    • init(): set up listening socket
    • run(): accept and process clients one by one
runtime

2022-03-13 00-30-25

Messenger with Select

  • class MessengerServer with:
    • init(): set up listening socket
    • run(): select for read and write, accepting connections, recieving messages and sending them to other clients
  • namespace Utils with:
    • some Network utils (readable ip:port, set up non-blocking option to socket...)
    • simple Logger
    • Time utils for logger (to get timestamp)
runtime

2022-03-13 00-19-52

Messenger with Poll

Same as previous but optimized for poll function

runtime

2022-03-13 01-01-16

Learned new

  • UDP Lite
  • Local Descriptor Tables
  • Improved select usage
  • Poll usage