Java Socket 连接后关闭?

标签 java

为什么在客户端建立连接后此端口/套接字会关闭?

package app;

import java.io.*;
import java.net.*;

public class socketServer {

public static void main(String[] args) {
    int port = 3333;
    boolean socketBindedToPort = false;

    try {
        ServerSocket ServerSocketPort = new ServerSocket(port);
        System.out.println("SocketServer Set Up on Port: " + port);
        socketBindedToPort = true;

        if(socketBindedToPort == true) {
            Socket clientSocket = null;

            try {
                clientSocket = ServerSocketPort.accept();//This method blocks until a socket connection has been made to this port.
                System.out.println("Waiting for client connection on port:" + port);
                /** THE CLIENT HAS MADE A CONNECTION **/
                System.out.println("CLIENT IS CONENCTED");
            } 
            catch (IOException e) {
                System.out.println("Accept failed: " + port);
                System.exit(-1);
            }
        }
        else {
            System.out.println("Socket did not bind to the port:" + port);
        }
    }
    catch(IOException e) {
        System.out.println("Could not listen on port: " + port);
        System.exit(-1);
    }



}


}

最佳答案

未经测试,但我很确定这是因为你的程序中没有剩下任何东西。一旦 ServerSocketPort.accept();完成后,程序到达 main 的末尾并关闭。

关于Java Socket 连接后关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10069281/

相关文章:

java - 不会在 for 循环中打印 x

java - 有人可以告诉我一种找到 java 方法的 native 实现的方法吗?

java - 为什么 Junit 测试仅支持不完全重写 fork?

java - while 循环中带标签的 continue 语句

java - 如何在没有 ArrayIndexOutOfBoundsException 的情况下通过 executeBatch 获取生成的 key ?

java - 使用 Jetty(编程设置)的服务器发送事件 (SSE)

java - Ant:让 "available"抛出一个可以理解的错误?

java - 使用 GGTS 创建 Grails 项目时出错

java - 如何使用 Twitter4j 框架关注 Twitter 用户?

java - 电影绘制到 Canvas 时的 Android 错误信号 11