使用C#与NNTP服务器交互!


所属类别:.NET

文章作者:未知

特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!


using System;using System.Text;using System.Net;using System.IO;using System.Net.Sockets;using System.Collections;using System.Diagnostics;namespace NntpTools {/// /// Class1 的摘要说明。/// class Debug {/// /// 应用程序的主入口点。/// [STAThread]static void Main(string[] args) {NNTPClass nc=new NNTPClass();nc.Connect("msnews.microsoft.com");ArrayList grouplist=nc.GetNewsgroups();for(int i=0;i 100) {start = end-100;}for (long i=start;i<end;i++) {message = "ARTICLE " + i + "\r\n";Write(message);response = Response();if (response.Substring( 0, 3) == "423") {continue;}if (response.Substring( 0, 3) != "220") {throw new Exception(response);}string article = "";while (true) {response = Response();if (response == ".\r\n") {break;}if (response == ".\n") {break;}if (article.Length < 1024) {article += response;};}retval.Add(article);}return retval;}private string Response() {//System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();System.Text.Encoding enc=Encoding.Default;byte []serverbuff = new Byte[1024];NetworkStream stream = GetStream();int count = 0;while (true) {byte []buff = new Byte[2];int bytes = stream.Read( buff, 0, 1 );if (bytes == 1) {serverbuff[count] = buff[0];count++;if (buff[0] == '\n') {break;}}else {break;};};string retval = enc.GetString( serverbuff, 0, count );System.Diagnostics.Debug.WriteLine("READ:" + retval);return retval;}private void Write(string message) {System.Text.ASCIIEncoding en = new System.Text.ASCIIEncoding() ;byte[] WriteBuffer = new byte[1024] ;WriteBuffer = en.GetBytes(message) ;NetworkStream stream = GetStream() ;stream.Write(WriteBuffer,0,WriteBuffer.Length);System.Diagnostics.Debug.WriteLine("WRITE:" + message);}}}}关闭本页

相关信息

· 恢复情形的场景

· (图文)Sniffer抓包软件学习

· cdo组件发邮件(2003操作系统的应用)

· 网站用户需求分析基本问题








....

107121 87548