在Ruby中进行网络编程,你可以使用一些内置的库,如Socket和TCPServer/TCPSocket。以下是一些基本示例,展示了如何使用这些库进行网络编程。
Socket库提供了底层的网络接口,可以用来创建TCP或UDP连接。
require 'socket'
server = TCPServer.new('localhost', 2345)
loop do
client = server.accept
puts "客户端已连接"
client.puts "你好,我是服务器!"
client.gets # 等待客户端发送数据
client.close
end
require 'socket'
client = TCPSocket.new('localhost', 2345)
puts client.gets # 接收服务器发送的数据
client.puts "你好,我是客户端!"
client.close
TCPServer和TCPSocket是Socket库的子类,提供了更高级别的接口来处理TCP连接。
require 'socket'
server = TCPServer.new('localhost', 2345)
loop do
client = server.accept
puts "客户端已连接"
client.puts "你好,我是服务器!"
client.gets # 等待客户端发送数据
client.close
end
require 'socket'
client = TCPSocket.new('localhost', 2345)
puts client.gets # 接收服务器发送的数据
client.puts "你好,我是客户端!"
client.close
除了TCP之外,Ruby还支持UDP协议。你可以使用UDPServer和UDPSocket类来进行UDP通信。
require 'socket'
server = UDPServer.new(2345)
loop do
message, address = server.recvfrom(1024)
puts "收到来自#{address}的消息:#{message}"
server.send("你好,我是服务器!", address)
end
require 'socket'
client = UDPSocket.new
client.send("你好,我是客户端!", 'localhost', 2345)
message, _ = client.recvfrom(1024)
puts "收到服务器的消息:#{message}"
client.close
这些示例展示了如何使用Ruby进行基本的网络编程。你可以根据自己的需求修改这些示例,以实现更复杂的功能。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。