Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 1.65 KB

README.md

File metadata and controls

23 lines (17 loc) · 1.65 KB

SocketAndThread

Skill Level: Intermediate
Time Limit: 1 hour

This resource is a basic implementation of Ruby's Socket class which provides access to your computers operation system socket functionality. The purpose of this exercise is to gain an understanding of how web servers and HTTP work on a basic level.

Sockets are endpoints of a bidirectional communication channel. Sockets can communicate within a process, between processes on the same machine or between different machines. To put it simply, they are a part of the plumbing system for web traffic and other protocols.

Instructions

Servers are permanent loops. They listen for incoming requests at a specific location (i.e. hostname/ip address). In our case, our server is listening on port 2000 of address 127.0.0.1.

  • take a look at server.rb
  • comment out one of the commands executing a particular server implementation, run the file
  • open a different tab and run the client.rb file, did you receive a response from the server?
  • when you're done, fiddle around with browser.rb and run the file. what sort of response do you receive?

NOTE: You will have to use Ctrl-C to quit server.rb when done with this exercise.

Resources