我刚刚在硬盘上安装 cURL ,以便用我的localhost进行测试(在命令提示符下)。但是我无法连接到任何端口。您可以在下面看到目录和我的输入:
C:\ Users \ me \ curl \ src> curl -v http://localhost:9000
给了我:
- 重建网址为:http://localhost:9000/
- 不支持名称查找超时
- 尝试:: 1 ...
- TCP_NODELAY设置
- 尝试127.0.0.1 ...
- TCP_NODELAY设置
- 连接到:: 1端口9000失败:拒绝连接
- 连接到127.0.0.1端口9000失败:连接被拒绝
- 无法连接到localhost端口9000:拒绝连接
- 关闭连接0卷曲:(7)无法连接到localhost端口9000:拒绝连接
也许我应该补充说我正在使用IntelliJ,并且已经在硬盘上启用了cURL(允许我从任何目录访问它);促使我尝试以下方法:
C:\ Users \ me \ scala \ play \ my-project> curl -v http://localhost:9000/
返回:
- 不支持名称查找超时
- 尝试:: 1 ...
- TCP_NODELAY设置
- 连接到:: 1端口9000失败:拒绝连接
- 尝试127.0.0.1 ...
- TCP_NODELAY设置
- 连接到127.0.0.1端口9000失败:连接被拒绝
- 无法连接到localhost端口9000:拒绝连接
- 关闭连接0卷曲:(7)无法连接到localhost端口9000:拒绝连接
所以似乎端口9000没有打开。我现在认为这需要在intelliJ中进行配置 - here - 但这看起来好像只支持Ultimate Edition。这可能是我遇到的问题的原因。它可能对其他人有帮助,但如果有人确实有更多的信息,那么确定这一点会很好。
答案 0 :(得分:0)
在运行curl
时尝试以下服务器代码:
import java.net._
import java.io._
import scala.io._
val server = new ServerSocket(9000)
while (true) {
val serv = server.accept()
val in = new BufferedSource(serv.getInputStream()).getLines()
val out = new PrintStream(serv.getOutputStream())
out.println(in.next())
out.flush()
serv.close()
}
答案 1 :(得分:0)
这意味着您的应用程序尚未启动(因此它实际上并未侦听端口9000)
您应该在IntelliJ中添加运行配置(Run
> Edit Configurations
> +
> Play 2 App
)并在进行卷曲呼叫之前运行它。
启动应用程序的另一种方法是在项目文件夹中打开终端,然后运行sbt run
。