首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java服务器将打印流发送到端口80或443

问java服务器将打印流发送到端口80或443
EN

Stack Overflow用户
提问于 2012-05-03 03:00:42
回答 3查看 1.4K关注 0票数 0

我有一个文件传输小程序,我现在正在创建一个日志记录系统,所以在小程序中,当它初始化时,直到它发送文件并完成,它将开始打印日志文件(最初它会转到客户端的java控制台),但现在我正在修改它,所以它将转到服务器(在服务器中创建一个文件,并开始在文件上写入)。

它现在工作了,我正在使用5000端口,但我需要打开5000端口的防火墙,因为打开端口是危险的,我可以只使用80或443 (HTTPS),因为它无论如何都会打开进行文件传输吗?该怎么做呢?

目前的代码示例如下

在java applet中,将会有

代码语言:javascript
复制
handler = new SocketHandler("xxx.xxx.xxx.xx", 5000);
//on different area of the file there will be something like
log("starting the applet");
log("sending email");
...

在服务器上,我创建了一个简单的java服务器,如下所示

代码语言:javascript
复制
public class ThreadedEchoServer {
    // using port 5000 
    static final int PORT = 5000;

    public static void main(String args[]) {
        ServerSocket serverSocket = null;
        Socket socket = null;

        try {
            serverSocket = new ServerSocket(PORT);
        } catch (IOException e) {
            e.printStackTrace();

        }
        while (true) {
            try {
                socket = serverSocket.accept();
            } catch (IOException e) {
                System.out.println("I/O error: " + e);
            }

            // new thread for a client
            new EchoThread(socket).start();
        }
    }
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-03 03:04:41

您真的不应该考虑使用端口80和443 -它们是用于接收连接的端口。在这些端口中的一个上获得连接后,请求实际上被重定向到另一个端口进行处理。因此,使用它们来写入将阻止任何传入的通信。

票数 1
EN

Stack Overflow用户

发布于 2012-05-03 03:04:51

它正在工作,我正在使用5000端口,但我需要打开5000端口的防火墙,因为打开端口是危险的,我可以只使用80或443端口吗?该怎么做呢?

打开端口5000并不比打开端口80或443更危险。(更改端口并不比修改编号更难,也不会有更多影响)。

票数 1
EN

Stack Overflow用户

发布于 2012-05-03 03:20:28

如果您的服务器正在运行其他重要的应用程序,我将使用5000端口并配置chrooted环境。

你可以查看这个帖子:What's the best way to defend against a path traversal attack?

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

https://stackoverflow.com/questions/10420013

复制
相关文章

相似问题

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