- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 Fedora 20 上使用 ruby 2.1.0。我有来自 ruby-doc 的以下代码.
require 'socket'
s = TCPSocket.new 'localhost', 2000
while line = s.gets # Read lines from socket
puts line # and print them
end
s.close # close socket when done
Ruby 抛出以下错误:
client.rb:3:in `initialize': Connection refused - connect(2) for "localhost" port 2000 (Errno::ECONNREFUSED)
from client.rb:3:in `new'
from client.rb:3:in `<main>'
失败的原因可能是什么?我的意思是,代码应该绝对有效,它非常简单,来自公认的 ruby 教程网页。我想问题出在我的操作系统上,但我该如何让它正常工作?
最佳答案
套接字是双向通信 channel 的端点。套接字可以在进程内、同一台机器上的进程之间或不同大陆的进程之间进行通信。
一个简单的客户端:
require 'socket' # Sockets are in standard library
hostname = 'localhost'
port = 2000
s = TCPSocket.open(hostname, port)
while line = s.gets # Read lines from the socket
puts line.chop # And print with platform line terminator
end
s.close
现在调用TCPServer.open
hostname
, port
函数为你的服务指定一个端口并创建一个TCPServer对象。
一个简单的服务器:
require 'socket' # Get sockets from stdlib
server = TCPServer.open(2000) # Socket to listen on port 2000
loop { # Servers run forever
client = server.accept # Wait for a client to connect
client.puts(Time.now.ctime) # Send the time to the client
client.puts "Closing the connection. Bye!"
client.close # Disconnect from the client
}
阅读doc
关于ruby - 为什么 ruby 无法在我的 Fedora 20 机器上打开 TCPSocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21381064/
Fedora 21 带有丑陋的 Gnome 3,我安装了 XFCE 和 MATE,但我不知道如何将它们中的任何一个设置为默认的 X 窗口管理器。从 Gnome 3 注销后,我没有从已安装的窗口管理器中
我有软呢帽 25。我读了这篇文章 - http://docs.mitmproxy.org/en/stable/certinstall.html#certinstall , 但 fedora 的信息不存
安装 Fedora 19 桌面版后,我运行 Qt Example 的系统托盘。但我找不到系统托盘图标。 事件概览中没有通知区域。 请让我知道显示通知区域或托盘图标。 最佳答案 将鼠标快速移动到右下角应
我正在使用使用快捷方式的文本编辑器ctrl+alt+arrowup/arrowdown这是在 Fedora 20 中切换工作区的默认键。所以我需要更改快捷键以使其在文本编辑器中工作。我改变了快捷方式
当我尝试在新的 64 位 Fedora 28 安装上运行 64 位程序时出现此错误。 我尝试通过以下方式安装 ncurses 库: sudo yum install ncurses-libs sudo
我正在使用 GNOME 运行 Fedora 27 桌面版。我已尝试过网络上所有的说明,但没有找到任何可以让我设置与远程用户共享屏幕的内容。谁能帮我解决这个问题吗? 提前非常感谢您的回复。 这是迄今为止
我从 Atomic 官方网站下载了一个 qcow2 图像,但我对启动这个 qcow2 图像的步骤感到非常沮丧,而且谷歌没有提供有用的明确提示。 谁能给我一些关于如何启动 qcow2 虚拟机的明确提示?
我正在尝试使用“mpif90”在 Fedora 21 中编译一些代码。 首先我用'yum'安装openmpi: [root@localhost Inversion]# yum install open
我最近买了一个新硬盘,我想在上面安装 Fedora,但是电脑很旧,无法从 USB 启动,而且我无法使用 DVD。 我想使用我当前安装的 Fedora 在新硬盘上安装一个新副本。 我有 ISO。我正在使
虽然 Fedora 34 将在下月底左右才会正式发布,但针对更晚才会到来的 Fedora 35 目前已有一些变更提案被提交。其中,在众多的早期变化中值得注意的一点是在其操作系统发布信息中把操作系统从
Fedora 33 很有可能会成为 Fedora 有史以来最大的版本之一,最大不仅仅体现在新添加的重要功能,如Fedora 桌面版本将默认使用Btrfs 文件系统,在新增功能的数量方面,到目前为止,
DNF 和 RPM 作为包管理器有什么区别?一种与另一种的优势是什么,这些优势将适用于哪些情况? 最佳答案 这些工具协同工作。 DNF 处理依赖解决、在网络上查找文件、存储库管理等。 RPM 处理实际
我刚刚安装了 Fedora 23 的 Cinnamon spin 的新版本。尽管我喜欢 Nautilus/Nemo,但我想将 Thunar 设置为我的默认文件浏览器。我尝试在 /usr/share/a
我是 Linux 和 VirtualBox 的新手,但是我已经通过 Windows 7 上的 VirtualBox 设置了一台 guest Fedora 19 机器(32 位,因为我没有 VT-x 功
我刚刚安装了 Fedora 23 的 Cinnamon spin 的新版本。尽管我喜欢 Nautilus/Nemo,但我想将 Thunar 设置为我的默认文件浏览器。我尝试在 /usr/share/a
在目录 /lib/systemd/system 中,我创建了一个文件 XYZ.service。 运行 systemctl start XYZ 时,它不会返回。我必须按 Ctrl-C 才能发出命令。想知
我正在尝试在 64 位 Fedora 21 上运行 32 位可执行文件。 #include int main(){ printf ("Hello C\n"); return 1; }
我不知道如何在 fedora 24 中安装 lex 和 yacc。我在 ubuntu 16 中安装了它。使用以下命令: sudo apt-get update sudo apt-get install
Chromium 是否支持语音合成 API?我需要安装声音吗?如果是这样,我该怎么做?我正在使用 Fedora。我需要安装额外的软件包才能使用像视频这样的声音吗? 我试过这段代码: var msg =
dnf 命令会在您每次更新时下载整个软件包,而 yum 使用 deltarpm 并下载较少的数据。 怎么用dnf as yum来保存数据? 最佳答案 安装 deltarpm打包并添加 deltarpm
我是一名优秀的程序员,十分优秀!