VB.Net中,如何利用FTP进行文件上传,最好有源码.
RT,
麻烦各位前辈大虾们给帮帮忙,
谢谢!
[解决办法]
要用到两个Sock通道,一个用于控制命令的发送和接收,另一个专门用来发送和接收文件数据.
首先由命令通道传送上传文件的指令(具体是什么指令现在很多FTP客户端软件都有显示,自己去查),
接到服务器返回成功的结果后,解析出服务器给出的IP和端口,用于数据通道的连接.
数据通道连接成功后就可以开始传数据了.
[解决办法]
有个C#的源码。。。。比较成熟的。。。可以工具转成 vb的。。。
不过太长 ,不能贴, 你在网上搜一搜 FTPFactory.cs
private string readLine()
{
while(true)
{
bytes = clientSocket.Receive(buffer, buffer.Length, 0);
mes += ASCII.GetString(buffer, 0, bytes);
if(bytes < buffer.Length)
{
break;
}
}
char[] seperator = {'\n'};
string[] mess = mes.Split(seperator);
if(mes.Length > 2)
{
mes = mess[mess.Length-2];
}
else
{
mes = mess[0];
}
if(!mes.Substring(3,1).Equals(" "))
{
return readLine();
}
if(debug)
{
for(int k=0;k < mess.Length-1;k++)
{
Console.WriteLine(mess[k]);
}
}
return mes;
}
private void sendCommand(String command)
{
Byte[] cmdBytes =
Encoding.ASCII.GetBytes((command+"\r\n").ToCharArray());
clientSocket.Send(cmdBytes, cmdBytes.Length, 0);
readReply();
}