require 'socket'
# 创建
server = Socket.new(:INET, :STREAM)
addr = Socket.pack_sockaddr_in(4444, '0.0.0.0')
# 绑定
server.bind(addr)
# 监听
server.listen(5)
# 接受
loop do
connection, _ = server.accept
# 处理连接
# 读取数据
p connection.read
# 发送数据
connection.write('ACK')
# 关闭
connection.close
end
# 关闭server
server.close
# 以上代码可以使用如下语法糖
Socket.tcp_server_loop(4444, '0.0.0.0') do |connection|
p connection.read
# 发送数据
connection.write('ACK')
connection.close
end
近期评论