在 Ruby 中,可以使用内置的 Socket
库实现网络编程。Socket
库提供了一套 API,可以用于创建 TCP 和 UDP socket,以及进行 socket 的绑定、监听、连接、发送和接收等操作。
下面是一个简单的示例,演示了如何在 Ruby 中创建一个 TCP socket,绑定到本地端口并接受客户端连接:
require 'socket'
server = TCPServer.new('localhost', 8080)
loop do
client = server.accept
client.puts "Hello, world!"
client.close
end
在上面的代码中,我们首先使用 TCPServer
创建一个服务器实例,绑定到本地地址 localhost
和端口 8080
。然后,我们进入一个循环,不断接受客户端连接。每当有一个新的客户端连接进来时,我们就创建一个新的 client
socket,并向客户端发送一条欢迎消息,然后关闭这个 client
socket。
类似地,我们也可以使用 TCPSocket
创建一个客户端 socket,连接到服务器并发送数据:
require 'socket'
client = TCPSocket.new('localhost', 8080)
response = client.gets
puts response
client.close
在上面的代码中,我们使用 TCPSocket
创建一个客户端 socket,连接到服务器的地址 localhost
和端口 8080
。然后,我们从服务器读取一行数据,并将其输出到控制台,最后关闭这个 client
socket。
需要注意的是,在实际的网络编程中,我们还需要考虑异常处理、并发访问、数据协议等问题,以保证网络应用的稳定性和安全性。