怎样winform中远程获取ftp服务器上的数据流?

发布于 2022-09-04 02:34:39 字数 1423 浏览 32 评论 0

大家好,有个问题请教一下大家。我用vsftpd搭建了一个服务器,每一分钟向其中的一个log文本不停传送一些测试相关信息。现在我想做一个winform测试程序。远程实时获取ftp上传的数据流。理想界面是点击按钮,可以一行一行远程读取log文本数据,并显示在文本框内。
如下图所示
图片描述

我只能想到下面的做法,但是这样并不能实时更新数据流。希望能得到大家的帮助。


 private void button1_Click(object sender, EventArgs e)
        {
            WebClient wc = new WebClient();
            String url = "ftp://192.168.101.1/var/gps/" + "gps_log";
            wc.Credentials = new NetworkCredential("root", "k21cm");
            wc.Proxy = null;
            try
            {
                byte[] newFileData = wc.DownloadData(url);
                string fileString = System.Text.Encoding.UTF8.GetString(newFileData);
                richTextBox1.Text = fileString;
                //Stream stream;
                //StreamReader streamreader;
                //stream = wc.OpenRead("ftp://192.168.101.1/var/gps/gps_log");
                //streamreader = new StreamReader(stream, System.Text.Encoding.Default);
                //while (streamreader.ReadLine() != null)
                //{
                //    string str = streamreader.ReadLine();
                //    Console.WriteLine(str);
                //}
            }
            catch (WebException ex) {
                Console.WriteLine(ex);
            }
        } 

感谢阅览。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文