Skip to content

Instantly share code, notes, and snippets.

socket = TCPSocket.new server_name, server_port
socket.write "hello? someone there?\n"
@TvL2386
TvL2386 / gist:897859
Created April 1, 2011 07:41
respond_to_command method
def respond_to_command data
if data =~ /^([^\s]+):\s(?:[^\s]+):\s([^\s]+):\s(.*)$/
sender = $1
command = $3.rstrip
# directed to me?
return nil if not $2.split(',').include?(@my_name)
# if I'm still here, I guess so ;-)
# lets see if uptime is in the allowed commands array
@TvL2386
TvL2386 / gist:897777
Created April 1, 2011 05:13
print_message function from client.rb
def print_message
Thread.new do
loop do
# monitor socket and print data if there is any
result = IO.select([@socket], nil, nil, nil)
if not result.nil?
socket = result[0].first # result[0] is the socket array. In this example there can only be one
data = socket.readpartial 4096
# use print here, because puts automatically appends a newline
@TvL2386
TvL2386 / gist:896112
Created March 31, 2011 09:35
Workshop ruby 1: client.rb
require 'socket'
require 'thread'
class Client
def initialize server_name, server_port
@server_name, @server_port = server_name, server_port
end
def connect
@socket = TCPSocket.new(@server_name, @server_port)