Ruby 网络编程与 mkmf 库详解
在网络编程和 Ruby 扩展开发中,有两个重要的部分:Socket 相关类和 mkmf 库。Socket 类提供了网络通信的基础功能,而 mkmf 库则用于 Ruby 扩展模块创建 Makefile。下面将详细介绍这些内容。
1. BasicSocket 类
BasicSocket 是所有其他 Socket 类的抽象基类,它继承自 IO。该类及其子类通常使用struct sockaddr来处理地址,这实际上是一个不透明的二进制字符串。
1.1 类方法
| 方法名 | 功能 |
|---|---|
do_not_reverse_lookup | 返回全局反向查找标志的值 |
do_not_reverse_lookup= | 设置全局反向查找标志。若设置为 true,对远程地址的查询将返回数字地址而非主机名 |
for_fd(fd) | 将已打开的文件描述符包装成一个 Socket 对象 |
lookup_order= | 设置全局地址查找顺序 |