ruby - TCPServer 如何从 Ruby 中的 http 请求接收数据?

标签 ruby tcpsocket

将服务器响应发送给客户端很方便

server = TCPServer.open 1234

socket = server.accept

socket.puts 'data from server side'

在客户端,curl 在这种情况下

curl -v localhost:1234

*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 1234 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
> Host: localhost:1234
> Accept: */*
> 
data from server side

此时,似乎我仍然可以在curl中输入一些东西,所以我假设tcp连接是双向的,我输入

data from the curl client 

之后,如何在当前TCPSocket实例中接收来自curl客户端的消息?

我试过了

socket.read

但是没用

最佳答案

像这样的东西会向用户读出问候语,然后等待用户输入。此示例只是将输入回显到服务器端。

server = TCPServer.open(8000)
socket = server.accept
socket.puts 'Hello!' # Prints Hello! to the client
while line = socket.gets
  puts line # Prints whatever the client enters on the server's output
end

关于ruby - TCPServer 如何从 Ruby 中的 http 请求接收数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10193044/

相关文章:

ios - iOS 中的 TCP 套接字编程。服务器客户端响应

c++ - 我的 Linux 应用程序端口在停止时被另一个服务占用

ruby - 如何格式化logstash中的数字?

ruby-on-rails - rails 4中secret_key_base有什么用

c - 无法通过 unix tcp 套接字发送二进制数据

perl - 如何在我的代码中设置 PERL 接收超时?

ruby watir 获取页面的 html

ruby - safariwatir:如何选择匿名按钮

ruby-on-rails - 如何在安装了 Ruby on Rails 的系统上使用 RVM?

Java TCP 服务器一次发送更多消息