首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >com.sun.net.httpserver错误,是什么意思?

com.sun.net.httpserver错误,是什么意思?
EN

Stack Overflow用户
提问于 2015-08-19 20:09:27
回答 1查看 2K关注 0票数 1

我的代码如下所示:

代码语言:javascript
复制
    import com.sun.net.httpserver.*;
    import java.net.InetSocketAddress;
    ...

    void Srart_Server()
    {
      ....
      InetSocketAddress addr=new InetSocketAddress(80);
      HttpServer server=HttpServer.create(addr,0);      // Line : 32

它在我的PC上运行正常,但是在我将应用程序复制到Linux并运行它之后,我得到了以下错误:

代码语言:javascript
复制
java.net.SocketException: Permission denied
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at sun.net.httpserver.ServerImpl.<init>(ServerImpl.java:100)
        at sun.net.httpserver.HttpServerImpl.<init>(HttpServerImpl.java:50)
        at sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35)
        at com.sun.net.httpserver.HttpServer.create(HttpServer.java:130)
        at Http_Server.Srart_Server(Http_Server.java:32)

为什么?怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 20:16:11

远程机器上的防火墙 (linux)不允许您的代码打开端口。这需要基于linux发行版和防火墙(+网络设置)进行修复。

作为一个可能的修复,您可以尝试打开端口8080。一些unix机器将为根用户保留1024以下的所有端口。

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

https://stackoverflow.com/questions/32104740

复制
相关文章

相似问题

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