Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Heroku C应用程序。使用TCP/UDP套接字的服务器_C_Sockets_Heroku - Fatal编程技术网

Heroku C应用程序。使用TCP/UDP套接字的服务器

Heroku C应用程序。使用TCP/UDP套接字的服务器,c,sockets,heroku,C,Sockets,Heroku,我正在使用BSDSockets开发一个服务器应用程序,这是一个C项目,它是在Heroku上使用自定义构建包构建的 我不知道以后如何执行二进制文件 构建包包含: bin/ detect.sh compile.sh release.sh release.sh #!/usr/bin/env bash # bin/release <build-dir> cat <<EOF --- config_vars: PATH: /app/bin:/usr/loca

我正在使用BSDSockets开发一个服务器应用程序,这是一个C项目,它是在Heroku上使用自定义构建包构建的

我不知道以后如何执行二进制文件

构建包包含:

bin/
    detect.sh
    compile.sh
    release.sh
release.sh

#!/usr/bin/env bash
# bin/release <build-dir>
cat <<EOF
---
config_vars:
PATH: /app/bin:/usr/local/bin:/usr/bin:/bin
EOF
serverUDP
是应用程序bin/文件夹中二进制文件的名称

编辑:

生成日志:

-----> Fetching set buildpack https://github.com/damorton/heroku-buildpack-c.git... done
-----> C app detected
-----> Compiling with Make
make: `vendor/bin/busltee' is up to date.
-----> Discovering process types
       Procfile declares types -> spinup
-----> Compressing... done, 4K
-----> Launching... done, v20
       https://hangman-udp.herokuapp.com/ deployed to Heroku
日志:

部署后的命令:

heroku ps:scale spinup=1

假设它成功构建和部署了一个dyno,那么它应该加载slug并执行命令。要缩放和/或更改dyno配置,需要使用所选选项发出命令。例如:

 $ heroku ps:scale web=2 queue=1
这将启动三个Dyno;两个用于web,一个用于队列进程。您还可以通过使用类似的命令增加RAM和CPU共享来扩展dynos的单独功率:

 $heroku ps:scale web=2:standard-2x  queue=1

我发现
Procfile
用于在构建之后执行二进制文件。我当时遇到的问题与正在执行的二进制文件无关,而是二进制文件没有被构建。所以我使用
cmake
buildpack来安装cmake。然后我用cmake来构建我的项目。除了链接到共享libs的相对目录之外,所有这些都在构建端运行良好

对于有相同问题的任何人:

  • cmake
    使用构建包,然后对
    c
  • 使用
    Procfile
    在生成后执行带参数的二进制文件

我的问题是,我无法判断dyno是否已加载二进制文件或其是否正在运行。运行
heroku ps
会告诉我进程已崩溃。您是否有任何日志或转储文件提供有关进程崩溃的详细信息?
 $ heroku ps:scale web=2 queue=1
 $heroku ps:scale web=2:standard-2x  queue=1