Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby HTTPd服务器输入_Ruby_Http_Server - Fatal编程技术网

Ruby HTTPd服务器输入

Ruby HTTPd服务器输入,ruby,http,server,Ruby,Http,Server,我在ruby中的服务器出现问题,我将请求设置为客户端或会话。gets so request=session.gets 但当发送的请求类似于: GET / HTTP/1.1\r\n HOST: 192.168.2.4\r\n User-Agent: Mozilla/5.0\r\n Accept: text/xml,text/html,text/plain,image/jpeg\r\n Accept-Language: en-us,en\r\n 然后请求只返回第一行。如果我这样做: request

我在ruby中的服务器出现问题,我将请求设置为客户端或会话。gets so request=session.gets 但当发送的请求类似于:

GET / HTTP/1.1\r\n
HOST: 192.168.2.4\r\n
User-Agent: Mozilla/5.0\r\n
Accept: text/xml,text/html,text/plain,image/jpeg\r\n
Accept-Language: en-us,en\r\n
然后请求只返回第一行。如果我这样做:

request1 = session.gets
request2 = session.gets
request3 = session.gets
request4 = session.gets
然后它会工作,但是如果我放置了一个过多的session.get,那么客户端将不会再输入任何行,并将停止服务器运行


有什么办法可以解决这个问题吗?

不要使用gets。使用read或readlines。谢谢非常有效!:当然一般来说,除非您正在阅读标准文本,否则不要使用gets。使用read和readline更容易。另外,考虑一下HTTP库。除非你是为了实践而构建的,在这种情况下,很好的选择,使用预构建的库或服务器可能更容易,除非你构建自己的HTTP版本。不知道为什么你会这么做。谢谢,它按照我希望的方式工作,但服务器仍在等待更多信息,有什么建议吗?