javaftpsocket
InetAddress ip=InetAddress.getByName(args[0]);//第一个输进来的是ip
int port = Integer.parseInt(args[1]);//e\第二个输进来的是端口号
这两个就是接收参数
B. 急!ftpClient.listFiles() SocketTimeoutException: Accept timed out ftp
是不是连接没有正确关闭,或者对连接数,或者连接ip什么的有限制。
这个提示就是说连接超时了啊。设置了超时时间?吧设置去了?
看看这个,有帮助。
http://bbs.csdn.net/topics/20145879#r_achor
C. Java ftp 服务器 SYST
Socket 编程的几个重要步骤
Socket 客户端编程主要步骤如下:
socket() 创建一个 Socket
connect() 与服务器连接
write() 和 read() 进行会话
close() 关闭 Socket
Socket 服务器端编程主要步骤如下:
socket() 创建一个 Socket
bind()
listen() 监听
accept() 接收连接的请求
write() 和 read() 进行会话
close() 关闭 Socket
D. 求每日定时在服务器的FTP上取数据文件的源码(JAVA)
这个是可以向服务器端发送文字的程序,就是在客户端发送一句hello在服务器也可以接受到hello,这个程序可以修改一下就可以了。具体修改方法是增加一个定时器,然后把字符流改成字节流,现在有点忙,你先研究啊,近两天帮你写写看。
服务器端:
import java.net.*;
import java.io.*;
public class DateServer {
public static void main(String[] args) {
ServerSocket server=null;
try{
server=new ServerSocket(6666);
System.out.println(
"Server start on port 6666...");
while(true){
Socket socket=server.accept();
new SocketHandler(socket).start();
/*
PrintWriter out=new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()
)
);
out.println(new java.util.Date().toLocaleString());
out.close();
*/
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(server!=null) {
try{
server.close();
}catch(Exception ex){}
}
}
}
}
class SocketHandler extends Thread {
private Socket socket;
public SocketHandler(Socket socket) {
this.socket=socket;
}
public void run() {
try{
PrintWriter out=new PrintWriter(
new OutputStreamWriter(
socket.getOutputStream()
)
);
out.println(
new java.util.Date().
toLocaleString());
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
客户端:
package com.briup;
import java.io.*;
import java.net.*;
public class FtpClient {
public static void main(String[] args) {
if(args.length==0) {
System.out.println("Usage:java FtpClient file_path");
System.exit(0);
}
File file=new File(args[0]);
if(!file.exists()||!file.canRead()) {
System.out.println(args[0]+" doesn't exist or can not read.");
System.exit(0);
}
Socket socket=null;
try{
socket=new Socket(args[1],Integer.parseInt(args[2]));
BufferedInputStream in=new BufferedInputStream(
new FileInputStream(file)
);
BufferedOutputStream out=new BufferedOutputStream(
socket.getOutputStream()
);
byte[] buffer=new byte[1024*8];
int i=-1;
while((i=in.read(buffer))!=-1) {
out.write(buffer,0,i);
}
System.out.println(socket.getInetAddress().getHostAddress()+" send file over.");
in.close();
out.close();
}catch(Exception e){
e.printStackTrace();
}finally{
if(socket!=null) {
try{
socket.close();
}catch(Exception ex){}
}
}
}
}
E. java 如何实现服务器与客服端数据的传递
如果你学过网络基础的话,应该知道现在流行的tcp/ip协议,Java支持的是网络层或ip层以上的操作。
有很多种传递的方法,Java SE里面就有RMI方式,或Socket方式(分tcp和udp两种)。这些都属于C/S的方式。
另外Java EE里面以B/S方式主要是用客户端向服务器端的servlet/jsp发起请求实现的,其底层用的是http协议,一种应用层的协议。
其实,应用层的其他协议,如ftp, telnet, 甚至webservice,都可以用Java来实现,根据你的需要选择。一般学习Java基础的时候都是从socket编程,开发tcp或udp的通信程序的,其他的方式基本是在此方式基础上扩展更适合对应的领域了。
F. linux没有安装FTP服务器,运行JAVA报“ftp 建立连接Socket异常”是FTP服务器的原因吗
你是用JAVA连接FTP服务器吗。 如果是,那肯定出错了,你自己都说没FTP服务器了
G. 使用FTPClient下载文件报错java.net.SocketException: Software caused connection abort: recv failed
检查一下路径和端口号能不能登陆ftp
H. java 写的ftp服务器 不能获取dir
你调试一下,看看input2.readLine()出来的是什么类型就用什么类型来接。看看input2.readLine()是否有值。在不行的话就调试进入input2.readLine()这个方法,看看那里出问题。
I. 用java socket写ftp客户端如何向ftp发送命令查看文件列表
有现成的
sun.net.ftp.FtpClient类
晚上回去给你写个例子。有问题的话,别用追回,我现在也不知道代码有多少。
用问题的补充。