Racket 在Openshift上为news.arc使用自定义IP

Racket 在Openshift上为news.arc使用自定义IP,racket,openshift,hacker-news,Racket,Openshift,Hacker News,我正在尝试获取新闻。arc正在运行Redhat的Openshift。(根据Raycine的指示使用DIY墨盒,以使球拍运行) 以下是我遵循的步骤 按照raycine的指示,从这里开始运行DIY墨盒- 从这里获取anarki的新闻 在部署代码时,安装了racket,但是我不知道如何传递arc提示符参数。因此,我使用ssh连接到openshift服务器并执行以下操作 $racket -f as.scm arc>(load "lib/news.arc") arc>(nsv) Erro

我正在尝试获取新闻。arc正在运行Redhat的Openshift。(根据Raycine的指示使用DIY墨盒,以使球拍运行)

以下是我遵循的步骤

  • 按照raycine的指示,从这里开始运行DIY墨盒-

  • 从这里获取anarki的新闻

  • 在部署代码时,安装了racket,但是我不知道如何传递arc提示符参数。因此,我使用ssh连接到openshift服务器并执行以下操作

    $racket -f as.scm 
    arc>(load "lib/news.arc") 
    arc>(nsv) 
    Error: "tcp-listen: listen failed\n port number: 8080\n system error: Permission denied; errno=13"
    
    我发现了这个线程,它有一个类似的错误

    Openshift允许使用默认情况下news.arc使用的8080端口。但是,Openshift需要使用其内部IP($Openshift_DIY_IP)

    我试图找到一种为tcp侦听指定ip的方法。(Racket的tcp侦听文档位于此处-)

    下面是ac.scm()中的一些相关行

    lang.arc有这些行,但我怀疑在加载news.arc时是否调用lib/lang.arc(我尝试用$OPENSHIFT\u DIY\u ip值替换ip,但结果相同)

    arc有这些行,其中引用了8080端口

    (def nsv ((o port 8080))
      (map ensure-dir (list arcdir* newsdir* storydir* votedir* profdir*))
      (unless stories* (load-items))
      (if (and initload-users* (empty profs*)) (load-users))
      (asv port))
    
    Racket的TCP引用提到了主机名的使用

        (tcp-connect        hostname                 
                port-no              
             [  local-hostname               
                local-port-no])     →       
        input-port?     output-port?
    
      hostname : string?
      port-no : (integer-in 1 65535)
      local-hostname : (or/c string? #f) = #f
      local-port-no : (or/c (integer-in 1 65535) #f) = #f
    
    有人能提出解决办法吗?如何在news.arc中为tcp侦听指定主机名

    (Arc/球拍初学者。我确信我在这里问的问题不对,我一定是做错了什么。这样问对我来说事情会变得更清楚一些)


    (news.arc-cms/forum,由arcluage.com/和news.ycombinator.com使用)

    我认为这最好地回答了您的问题。

    您也可以写一个摘要吗?或者至少复制/粘贴答案的引用?当这里的答案不仅仅是一个链接时,它更有用。(在这种情况下,论坛的帖子很长,我不清楚其中哪些帖子有关于这个问题的关键信息。)谢谢你的回复。您指的是关于使用端口>16000的问题吗?因此,8080似乎是一个例外,是允许的。
    (def nsv ((o port 8080))
      (map ensure-dir (list arcdir* newsdir* storydir* votedir* profdir*))
      (unless stories* (load-items))
      (if (and initload-users* (empty profs*)) (load-users))
      (asv port))
    
        (tcp-connect        hostname                 
                port-no              
             [  local-hostname               
                local-port-no])     →       
        input-port?     output-port?
    
      hostname : string?
      port-no : (integer-in 1 65535)
      local-hostname : (or/c string? #f) = #f
      local-port-no : (or/c (integer-in 1 65535) #f) = #f