C# Pop3Connection类简介

开发 后端
这里介绍C# Pop3Connection类可以完成与主机的连接、通讯和关闭连接等功能,所以我们必须调用.Net框架中进行网络通讯的类库,在此我们运用的是TcpClient类的对象作为网络连接的客户端。

本文向大家介绍C# Pop3Connection类,可能好多人还不了解C# Pop3Connection类,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

C# Pop3Connection类

C# Pop3Connection类可以完成与主机的连接、通讯和关闭连接等功能,所以我们必须调用.Net框架中进行网络通讯的类库,在此我们运用的是TcpClient类的对象作为网络连接的客户端。同时,在与主机的通讯过程中必然少不了对于输入输出流的控制。于是,我们在设计该类的时候,首先得添加如下命名空间:

  1. using System.IO;  
  2. using System.Net.Sockets; 

C# Pop3Connection类的成员变量包括以下几个:

  1. private TcpClient socket;  
  2. private StreamReader reader;  
  3. private StreamWriter writer;  
  4. private bool connected;  

其中,bool类型的connected变量用于判断是否与主机取得了连接,它是该类的一个属性,对其操作如下:

  1. public bool Connected  
  2. {  
  3. get{return connected}  

C# Pop3Connection类的主要方法包含以下几个:

  1. internal void Open(string host, int port)  
  2. {  
  3. if(host == null || host.Trim().Length == 0 || port <= 0)  
  4. {  
  5. throw new System.ArgumentException("Invalid Argument found.");  
  6. }  
  7. socket.Connect(host, port);  
  8. reader = new StreamReader(socket.GetStream(), System.Text.Encoding.ASCII);  
  9. writer = new StreamWriter(socket.GetStream(), System.Text.Encoding.ASCII);  
  10. connected = true;  
  11. }  
  12.  
  13. internal void SendCommand(string cmd)  
  14. {  
  15. writer.WriteLine(cmd);  
  16. writer.Flush();  
  17. }  
  18.  
  19. internal void GetReply(out string reply, out int code)  
  20. {  
  21. reply = reader.ReadLine();  
  22. code = reply == null ? -1 : Int32.Parse(reply.Substring(0, 3));  
  23. }  
  24.  
  25. internal void Close()  
  26. {  
  27. reader.Close();  
  28. writer.Flush();  
  29. writer.Close();  
  30. reader = null;  
  31. writer = null;  
  32. socket.Close();  
  33. connected = false;  

根据这些方法的名称,我们不难知道它们的作用。***个方法Open()就是根据主机名和端口号取得和服务器的连接。一旦连接成功,就通过 TcpClient类的对象获取网络通讯流并新建一个StreamReader对象和一个StreamWriter对象。不言而喻,这两个对象的作用是控制网络通讯的输出和输入。***,还要将connected的属性设置为true。第二个方法SendCommand()就是在上面的 StreamWriter类的对象writer的基础上往网络套接字中输入信息。而第三个方法GetReply()则正好相反,它是用来从网络套接字中获取信息的。***一个方法Close()的作用则是关闭输出、输入流的对象,然后调用TcpClient类的对象Close()方法并将connected 属性设置为false,从而关闭连接,结束会话。

【编辑推荐】

  1. 运用C#数据提供者
  2. C#允许运算符重载剖析
  3. Java和C#顶层声明概述
  4. C#完全限定名简单分析
  5. C#数据类型简单介绍
责任编辑:佚名 来源: 博客园
相关推荐

2009-09-07 13:42:56

C# Pop3类

2009-08-26 17:05:23

C# ThreadPo

2009-08-31 15:13:46

C# CWorker类

2009-09-02 17:24:39

C#构造POP3服务器

2009-08-19 17:12:18

C# Connecti

2009-09-02 17:10:45

C#语言入门

2009-08-25 17:07:27

C#虚拟方法

2009-08-03 13:10:03

2009-08-20 14:28:00

C#静态构造函数

2009-08-25 17:49:07

C#入门

2009-08-12 14:49:33

C#移位运算符

2009-08-21 17:24:06

C# SingleIn

2009-08-06 14:43:10

C# Calculat

2009-09-07 14:29:52

C# ServiceC

2009-08-25 17:52:01

C#可空值类型

2009-08-12 14:29:32

C#条件运算符

2009-08-26 17:28:48

C# DateTime

2009-08-21 17:07:53

C# Convert.

2009-09-02 17:19:43

C#换行连接符

2009-08-17 17:36:08

C# 枚举
点赞
收藏

51CTO技术栈公众号