首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

急Socket/Ftp连接怎么真正断开

2012-09-18 
急!!Socket/Ftp连接如何真正断开?我的C#程序中分别使用过socket和webclient。其中webclient使用uploadfile

急!!Socket/Ftp连接如何真正断开?
我的C#程序中分别使用过socket和webclient。
其中webclient使用uploadfile方法上传一个ftp文件。可是在文件上传后,通过ftp服务器发现我的连接还存在,即使我调用了Dispose方法也没有作用,为什么?我该如何真正断开这个ftp连接?
代码如下:

C# code
        private void Btn_Upload_Click(object sender, EventArgs e)        {            WebClient webClient = new WebClient();            Uri uri = new Uri(string.Format("ftp://{0}/{1}", T_Server.Text, "Test.txt"));            webClient.Credentials = new NetworkCredential(T_User.Text, T_Pswd.Text);            webClient.UploadFile(uri, "Test.txt");            webClient.Dispose();        }


socket连接也有类似问题,连接并没有真正断开,请问我该如何处理??


[解决办法]
socket直接掉close()方法就行,WebClient确实没找到关闭方法,微软的示例是关闭从他那里得到的reader,代码是这样:
WebClient client = new WebClient ();

// Add a user agent header in case the 
// requested URI contains a query.

client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

Stream data = client.OpenRead (args[0]);
StreamReader reader = new StreamReader (data);
string s = reader.ReadToEnd ();
Console.WriteLine (s);
data.Close ();
reader.Close ();

[解决办法]
没做过,友情帮顶!
[解决办法]
using
[解决办法]
使其Session失效看看.
[解决办法]
对于FTP的结束,你需要发送QUIT命令才能让FTP服务器认为你退出了。ABOR也可以,不过含义不同。

你仅仅关闭Socket连接肯定是不够的。

热点排行