Ruby Socket 网络编程入门
Socket 是更底层的网络接口。HTTP、Redis、MQTT 等协议最终都建立在网络连接和字节读写之上。Ruby 标准库的 socket 可以创建 TCP Server 和 Client。
TCP Echo Server
创建 server.rb:
server.rb
require "socket"
server = TCPServer.new("127.0.0.1", 3000)
puts "listen on 127.0.0.1:3000"
loop do
client = server.accept
message = client.gets
client.puts "echo: #{message}"
client.close
end
这个服务会把客户端发来的内容回显。
TCP Client
创建 client.rb:
client.rb
require "socket"
socket = TCPSocket.new("127.0.0.1", 3000)
socket.puts "hello"
puts socket.gets
socket.close
先运行 server.rb,再运行 client.rb。