java.net.ConnectException:TCP套接字中的连接被拒绝?
我创建了一个程序,用于将文件从客户端发送到服务器,但当我在localhost中运行该文件时,效果良好,我可以发送该文件,但当我将该文件从另一台电脑发送到我的电脑时,会显示“java.net.ConnectException:连接被拒绝” 两侧的端口号相同,防火墙也关闭。当连接服务器套接字的客户端请求也接受套接字时,即使端口也在侦听 先谢谢你 我的程序代码是:java.net.ConnectException:TCP套接字中的连接被拒绝?,java,sockets,tcp,Java,Sockets,Tcp,我创建了一个程序,用于将文件从客户端发送到服务器,但当我在localhost中运行该文件时,效果良好,我可以发送该文件,但当我将该文件从另一台电脑发送到我的电脑时,会显示“java.net.ConnectException:连接被拒绝” 两侧的端口号相同,防火墙也关闭。当连接服务器套接字的客户端请求也接受套接字时,即使端口也在侦听 先谢谢你 我的程序代码是: public class ProgramSocket { public ProgramSocket(ServerSocket s
public class ProgramSocket {
public ProgramSocket(ServerSocket servsock) throws IOException {
System.out.print("server started");
while (true) {
final Socket sock;
try {
sock = servsock.accept();
} catch (SocketException e) {
break;
}
new Thread(new Runnable() {
@Override
public void run() {
try {
connectToNewClient(sock);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
System.out.print("server stopped");
}
void connectToNewClient(Socket sock) throws IOException,
InterruptedException {
FileOutputStream fos = new FileOutputStream("C:/abc.txt");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int bytesRead = is.read(mybytearray, 0, mybytearray.length);
bos.write(mybytearray, 0, bytesRead);
bos.close();
sock.close();
}
}
客户端:
public String uploadFile(String filePath) throws Exception {
Socket sock = new Socket(ip, 24999);
// select file
File myFile = new File(filePath);
// send the program file
byte[] mybytearray = new byte[(int) myFile.length()];
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(myFile));
OutputStream os = sock.getOutputStream();
bis.read(mybytearray, 0, mybytearray.length);
os = sock.getOutputStream();
os.write(mybytearray, 0, mybytearray.length);
os.flush();
bis.close();
sock.close();
return message;
}
为了简洁起见,省略了一些代码。这里唯一的问题是您是否在客户端使用了正确的IP地址和端口号,并且只有您知道。很可能,他在服务器中使用了错误的IP地址。您能出示端口正在侦听的证据吗?我正在使用正确的ip连接其他PC,并且连接也已建立,但当我尝试发送文件时,它会显示连接被拒绝,您完全可以确认服务器上的任何软件入站防火墙已关闭,客户端上的任何软件出站防火墙已关闭,他们之间没有任何类型的防火墙?我已经关闭了@JasonC两侧的防火墙