【发布时间】:2015-10-19 11:26:57
【问题描述】:
我一直在TutorialsPoint 阅读有关 TCPSockets 的信息,我需要一个简单的客户端来发出请求,但我不明白为什么没有响应。
网站 API 登录
login 命令接受 JSON 对象作为参数,后跟 EOT 字符作为响应。
来自网站的 API
这就是我所拥有的
def connect
url = "someurl.com"
port = 19534
loginRequest = 'login {"protocol":1,"client":"testruby","clientver":0.1}' +"\04"
s = TCPSocket.open(url,port)
s.puts(loginRequest)
while line = s.gets
puts line.chop
end
puts "end"
s.close
end
connect
我的尝试
1) 我在终端中运行 ruby 代码,但我与服务器的连接立即关闭。
我完全一无所知,希望能得到一些关于这方面的指导。
【问题讨论】:
-
在您指定的域和端口上是否有正在运行的服务器?
-
根据vndb.org/d11,指定的端口是19534,是的,服务器正在域上运行。
-
它位于如上vndb.org/d11的链接中
-
它们是可选的,由文档指定
-
尝试使用 socket read 而不是 socket gets ,像这样:socket = TCPSocket.open(host,port) # socket.print(request) response = socket.read