Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->编程语言 ->ASP.NET ->用C#实现FTP搜索引擎
  相关分类: 
ASP
ViualBasic
UML / Rational Rose
PHP4/PHP5
Perl
JAVA/JSP教程
Delphi
ColdFusion
CGI
C/C++
ASP.NET
XML
  站内搜索: 
热门文章排行
热门文章排行 C#编写的windows计算器-源代码(06-04)
C# 操作文件(06-04)
c#操作word表格(06-04)
使用C#在进度条中显示复制文件的进度(06-04)
C# GridView 排序及分页(06-04)
精采文章排行
精采文章排行 用C#实现FTP搜索引擎(06-04)
对C# 2.0中匿名方法的怀疑分析(06-04)
在C#中利用DirectX实现声音播放(06-04)
使用C#在进度条中显示复制文件的进度(06-04)
C#中利用Markup Service实现HTML解析(06-04)
  ·对C# 2.0中匿名方法的怀疑分析·在C#中利用DirectX实现声音播放·使用C#在进度条中显示复制文件的进度·C#中利用Markup Service实现HTML解析为DO·c#操作word表格·C#代码操作IIS之虚拟目录·如何使用C#在发送往client的内容上加js代·[C#]解决读写包含汉字的txt文件时乱码的·C#实现根据域名查询ip实例

用C#实现FTP搜索引擎

作者:Webmaster   来源:Linuxdby.com   点击:   日期:2007-06-04 [收藏] [投稿]

  IE是否经常中毒?推荐您

晚辈最近用C#写了一个教育网FTP搜索引擎,希望能得到高手的指点。

网址:http://soso.ccnu.com.cn      http://it.ccnu.edu.cn/soso

部分代码:

using System;
using softplib;
using System.Threading;
using System.Collections;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Data;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace spider
{
 /// <summary>
 /// IndexClass 的摘要说明。
 /// </summary>
 //编制索引类
 class IndexClass
 {
  private IPAddress ip;
  private string name;
  private SqlProcedure sp;
  public IndexClass(IPAddress _ip,string _name)
  {
   ip=_ip;
   name=_name;
  
  }

  public void createIndex()
  {
   FTPFactory ff = new FTPFactory();
   ff.setDebug(false);
   string header="ftp://"+ip.ToString();
   string address=name;
   try
   {
    ff.setRemoteHost(ip.ToString());
    ff.login();
    Queue q=new Queue();
    ArrayList fileNames=ff.getFileList("*.*");
    ArrayList subdirNames=ff.getSubdir("*",ref fileNames);
    if(fileNames!=null && fileNames.Count>0)
     foreach(string s in fileNames)
     {
     
      try
      {
       Console.WriteLine(header+"/"+s);
       int h=-1;
       long _size=0;
       try
       {
        _size=ff.getFileSize(s);
        h=s.IndexOf("/");
       }
       catch
       {
        _size=0;
        Console.WriteLine("size error");
       }


       if(s!=null && s.Trim()!="")
       {
        DataUnit datau=new DataUnit(s,_size,header+"/",DateTime.Now,ip.ToString(),address);
        Class1.DataQueue.Enqueue(datau);
       }
      }
      catch(Exception ex){Console.WriteLine(ex.Message);};
     }
    if(subdirNames!=null && subdirNames.Count>0)
     foreach(string s in subdirNames)
     {
      if(s.Equals("..") || s.Equals("."))continue;
      if(s!=null && s.Trim()!="")
      {
       q.Enqueue("/"+s);
       DataUnit datau=new DataUnit(s,(long)0,header+"/",DateTime.Now.AddHours(1),ip.ToString(),address);
       Class1.DataQueue.Enqueue(datau);
      }
     }
    while(q.Count>0)
    {
     string parent=q.Dequeue() as string;
     //Console.WriteLine("change to "+parent.Trim());

     try
     {
      ff.chdir(parent.Trim());
     
     }
     catch
     {
      Console.WriteLine(parent.Trim());
      ff.setRemoteHost(ip.ToString());
      ff.login();
      Console.WriteLine("=======Continue========");
      continue;
     }
     fileNames=ff.getFileList("*.*");
     subdirNames=ff.getSubdir("*",ref fileNames);
     if(fileNames!=null && fileNames.Count>0)
      foreach(string s in fileNames)
      {
     
       try
       {
        Console.WriteLine(header+parent+"/"+s);
        long _size=0;

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页12 下一页

上一篇:对C# 2.0中匿名方法的怀疑分析   下一篇:没有了
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·用C#实现FTP搜索引擎

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。