Ruby网络通信与多线程编程全解析
一、Ruby网络通信
Ruby在网络通信方面表现出色,支持多种网络协议,无论是底层还是高层协议都能轻松应对。
- 底层网络通信 :Ruby的
socket
库提供了一系列类,可访问TCP、UDP、SOCKS和Unix域套接字等。以下是一个使用finger
协议获取本地机器上“mysql”用户信息的简单程序:
require 'socket'
client = TCPSocket.open('127.0.0.1', 'finger')
client.send("mysql\n", 0)
# 0 means standard packet
puts client.readlines
client.close
运行结果如下:
Login: mysql
Name: MySQL Server
Directory: /var/empty
Shell: /usr/bin/false
Never logged in.
No Mail.
No Plan.
- 高层网络通信 :
lib/net
库模块为一系列应用层协议(如FTP、HTTP、POP、SMTP和telnet)提供了处理程序。例如,下面的程序列出了Pragmatic