【发布时间】:2016-05-12 14:13:16
【问题描述】:
我打算对 Ruby on Rails 应用程序的数据库中的数据运行用 Python 编写的机器学习算法。经过一番研究,我发现了套接字,因此创建了一个 Ruby 服务器和 Python 客户端。我在两个不同的命令提示符终端上同时运行它们。
这是 Ruby 服务器代码:
require "socket"
server = TCPServer.open(2000)
loop {
client = server.accept
client.puts(Time.now.ctime)
client.puts "Closing the connection. Bye!"
client.close
}
这是 Python 客户端代码:
import socket
s = socket.socket()
host = "localhost"
port = 2000
s.connect((host , port))
我不明白问题出在哪里。请协助。
【问题讨论】:
-
两个程序是否在同一主机上运行?
-
您的代码在这里没有问题。
-
但是为什么要采用这种极其复杂的方法呢?为什么不只坚持红宝石?如果您不想使用 ruby,为什么不直接使用 python 连接到数据库?
-
您的机器可以有多个网络地址(以太网/Wi-Fi 或 IPv4/IPv6),请确保两者使用相同。
-
@DisplayName by same host 你的意思是同一台电脑吗?如果是这样,那么是的。我在同一台计算机上有两个终端。