概述
- socket本质是编程接口,是对TCP/IP的封装。
- TCP/IP是传输层的协议。
- FTP、POP3、SMTP都是应用层的协议,是基于TCP/IP协议的。
所以,我们使用socket实现上述几种协议的客户端,其实是对借助socket对TCP/IP数据传输的封装基础,再往上封装一层的。
FTP客户端
C#使用socket实现FTP、POP3、SMTP的客户端 (一)
POP3客户端
C#使用socket实现FTP、POP3、SMTP的客户端 (二)
SMTP客户端
界面图:
控件由以下组成:
- 七个textbox :tb_server, tb_username, tb_from, tb_password, tb_to, tb_subject, tb_content
- 一个listbox:lsb_status
- 三个button:btn_saveSettings, btn_conn, btn_send
头文件:
using System;
using System.Windows.Forms;
using System.Net.Sockets;
using System.IO;
Sockets包是肯定要的,IO主要是为了使用NetworkStream类来方便socket的读写
全局变量:
#region Private Variables
private TcpClient Server;
private NetworkStream StrmWtr;
private StreamReader StrmRdr;
private String cmdData;
private byte[] szData;
private const String CRLF = "\r\n";
#endregion
全局函数:
#region Private Functions
private String getSatus()
{
String ret = StrmRdr.ReadLine();
lsb_status.Items.Add(ret