首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将连接限制到GCDWebServer中允许的IP

如何将连接限制到GCDWebServer中允许的IP
EN

Stack Overflow用户
提问于 2016-10-05 22:21:58
回答 1查看 320关注 0票数 0

我正在使用GCDWebServer类(它太棒了!)并且想知道是否可以通过远程IP限制所允许的连接。

代码语言:javascript
复制
server.addDefaultHandlerForMethod("GET", requestClass: GCDWebServerRequest.self, processBlock: {request in

    let remote = request.remoteAddressString.substringToIndex(request.remoteAddressString.lastIndexOf(":")!)
    let local =  request.localAddressString.substringToIndex(request.localAddressString.lastIndexOf(":")!)

    print("\(remote) vs \(local)")
    if remote == local {
        return nil
    }

    //Forbidden
    return GCDWebServerResponse(statusCode: 403);

})

我希望上面的可以工作,但它不是,我的意思是,当IP不同时,它发送403禁止,但否则它以:

[DEBUG] Connection aborted with status code 500 on socket 13

有人能帮我吗?

附注:以下也是doenst工作

代码语言:javascript
复制
    server.addDefaultHandlerForMethod("GET",
                                      requestClass: GCDWebServerRequest.self,
                                      processBlock: {request in

    print(request.remoteAddressString)
    print(request.localAddressString)

    let remote = request.remoteAddressString.substringToIndex(request.remoteAddressString.lastIndexOf(":")!)
    let local =  request.localAddressString.substringToIndex(request.localAddressString.lastIndexOf(":")!)

    print("\(remote) vs \(local)")
    if remote == local {
        return GCDWebServerResponse(statusCode: 200)
    }
    //Forbidden
    return GCDWebServerResponse(statusCode: 403);
})
EN

回答 1

Stack Overflow用户

发布于 2016-10-12 05:02:00

请参阅适用于GCDWebServerProcessBlockGCDWebServer.h

出错时,该块必须返回GCDWebServerResponse或nil,这将导致向客户端返回500HTTP状态代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39876563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档