0
를 검색 할 때 :java.net.ConnectException : 연결이 거부 : 연결 나는이 오류의 원인이 무엇인지 알아 내려고 지금 나이 찾고있는 파일
불과 몇 분에 대한java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:920)
at org.apache.commons.net.ftp.FTPClient._retrieveFileStream(FTPClient.java:1980)
at org.apache.commons.net.ftp.FTPClient.retrieveFileStream(FTPClient.java:1967)
at me.ItsJasonn.Main.Core.init(Core.java:48)
at me.ItsJasonn.Main.Core$1.run(Core.java:21)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
전에 나는 그것을 실현 파일이나 폴더에 대한 사용 권한과 관련이 있습니다 (어떤 파일인지 정확히 알지 못합니다).
내 집에있는 NAS FTP 서버에 연결하고 로컬 인터넷을 사용합니다.
package me.ItsJasonn.Main;
import java.awt.EventQueue;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.Socket;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
public class Core {
private static ServerThread serverThread;
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
Core core = new Core();
core.init();
}
});
}
public void init() {
new MainInstance(this);
BufferedReader reader = null;
String ip = null;
Socket socket = null;
try {
FTPClient client = new FTPClient();
try {
client.connect("84.27.126.40", 21);
client.login(Login.USERNAME, Login.PASSWORD);
client.enterLocalPassiveMode();
client.setFileTransferMode(FTP.ASCII_FILE_TYPE);
client.setFileType(FTP.ASCII_FILE_TYPE);
client.changeWorkingDirectory("homes");
client.changeWorkingDirectory("Jason");
System.out.println(client.printWorkingDirectory());
InputStream stream = client.retrieveFileStream("kingkongproperties.txt");
reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
ip = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(reader != null) {
reader.close();
}
if(client.isConnected()) {
try {
client.logout();
client.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
socket = new Socket(InetAddress.getByName(ip), 4321);
serverThread = new ServerThread(socket);
Thread start = new Thread(serverThread);
start.start();
} catch (IOException e) {
try {
System.out.println("No server found. Trying again in 2 seconds...");
Thread.sleep(2000);
init();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
}
public ServerThread getServerThread() {
return serverThread;
}
}
정말 고마워요! 문제는 외부 IP를 사용하여 동일한 인터넷 연결에서 서버에 액세스하려고 할 때 작동하지 않는 것입니다. – ItsJasonn