Ruby provides several socket classes for various connection protocols. Those classes are arranged in a strange and a convoluted hierarchy. This ASCII diagram explains this hierarchy IO | BasicSocket | |-- IPSocket | | | |-- TCPSocekt | | | | | |-- TCPServer | | | | | |-- SocksSocket | | | |-- UDPSocket | |-- Socket | |-- UNIXSocket | UNIXServer The BasicSocket class provides some common methods bu
![Ruby Networking on Steroids](https://cdn-ak-scissors.b.st-hatena.com/image/square/b003cca2f0dc1050e1513f3e050f26526e7cf2f1/height=288;version=1;width=512/https%3A%2F%2Fblogger.googleusercontent.com%2Fimg%2Fb%2FR29vZ2xl%2FAVvXsEh7soRWmI4Bk224BFr_M8q8SYIhfqVGw5M4AwT60iMODBRZpvGDDWfInpdA7TOdv8On1gXf6uDMiVIPa1f1VNFWEIYWTCOpXtUx7W5iWStb7sdd2dib0wV7EqMsbIFhHNBXpaY5%2Fw1200-h630-p-k-no-nu%2Fnever%2Bvs%2Bblock.png)