Вы можете начать с чего-то подобного для эхо-сервера TCP:
require "socket"
hostname = "localhost"
port = 2000
s = TCPSocket.open(hostname, port)
s.print "something\n" # was "something"
line = s.gets
line.chop!
if line == "something"
puts "echo test passed"
else
puts "echo test failed: rcvd [#{line}]\n"
end
s.close
В зависимости от того, какой тип тестирования вам необходим, вы можете расширить тестовый клиент, использовать несколько сокетов, несколько потоков, тестфреймворк, такой как Test :: Unit, Cucumber ...
РЕДАКТИРОВАТЬ: он работает со следующим эхо-сервером, мне просто нужно было добавить '\ n' к данным клиента
require 'socket'
port = 2000
server = TCPServer.open(port)
loop {
client = server.accept
data = client.gets
client.puts data
client.close
}