当我在命令行启动tcp服务器时,它输出:
java -jar tcpServer.jar --tcp = 7000
在端口上等待tcp客户端...
如果我在代码中运行服务器:
String command = "java -jar ../tcpServer.jar --tcp=" + port;
tcpServer = Runtime.getRuntime().exec(command);
并尝试连接
Socket client = new Socket(port);
我得到:
连接被拒绝
但是如果我之后读取了tcp服务器进程的输入 启动tcp服务器
String command = "java -jar ../tcpServer.jar --tcp=" + port;
tcpServer = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(newInputStreamReader(tcpServer.getInputStream()));
System.out.println(bufferedReader.readLine());
在端口上等待tcp客户端...
Socket client = new Socket(port);
连接
这是常规行为还是特定于jar 我执行的文件?