(44)C#网络2
一、用SmtpClient类发送邮件
允许应用程序使用简单邮件传输协议 (SMTP) 发送电子邮件
using System.Net.Mail;
SmtpClient smtpClient = new SmtpClient();
smtpClient.Host = "";
//将指定的电子邮件发送到 SMTP 服务器以进行传递
//参数1:邮件发件人,2收件人,3主题,4消息正文 都是string类型。
smtpClient.Send("xxxxx@163.com", "aaaaa@qq.com", "关于明天的晚饭", "宫保鸡丁,西红柿汤");
MailMessage类
二、IPAddress 类
// Parse(String) IP 地址将字符串转换为 IPAddress 实例。
IPAddress ip = IPAddress.Parse("127.0.0.1");
/*请注意,此方法接受为有效可以解析为 ipString 值Int64,然后将该 Int64 视为长整型值的网络字节顺序,类似的方式中的 IP 地址和,IPAddress构造函数未。
* 这意味着此方法返回如果 Int64 解析成功,则为 true,即使它表示不是有效的 IP 地址的地址。
* 例如,如果 ipString 为"1",此方法返回 true 即使"1"(或 0.0.0.1) 不是有效的 IP 地址和你所料此方法以返回 false。 修复此 bug 将会破坏现有的应用,因此将不会更改当前行为。
* 你的代码可以通过确保它仅使用此方法进行分析以点分隔的十进制格式的 IP 地址来避免此行为*/
IPAddress ip;
bool b=IPAddress.TryParse("", out ip);
Console.WriteLine("Broadcast IP address: {0}", b);
IPAddress ip;
//0.0.0.0
ip = IPAddress.Any;
Console.WriteLine("Broadcast IP address: {0}", ip);
Console.ReadKey();

//多播到本地网络
string ipAddressString = IPAddress.Broadcast.ToString();
Console.WriteLine("Broadcast IP address: {0}", ipAddressString);

三、IPHostEntry 类
//获取指定的 DNS 主机名的 DNS 信息(已过时)
IPHostEntry hostInfo = Dns.GetHostByName("www.baidu.com");
//获取主机DNS名称,返回string
Console.WriteLine(hostInfo.HostName);
//获取主机相关的别名列表,返回数组
for (int i = ; i < hostInfo.Aliases.Length; i++)
{
Console.WriteLine(hostInfo.Aliases[i]);
}
//获取主机的ip地址列表
for(int i=; i<hostInfo.AddressList.Length;i++)
{
Console.WriteLine(hostInfo.AddressList[i]);
}
Console.ReadKey();
显示的主机名也许与输入的名称不同,如果一个DNS名称仅作为另一个DNS名称的代理,就会发生这种情况

四、Dns 类
此类都是静态方法可直接调用。
//获取本机的主机名
string hostName = Dns.GetHostName();
Console.WriteLine(hostName);
(44)C#网络2的更多相关文章
- C# 为网络程序添加用户代理
如何为网络程序添加用户代理,本人推荐使用UrlMkSetSessionOption函数, 不过该函数有一个弱点不可以X64编译,X86编译软件才可以调用该函数 否则会一直返回!S_OK意义错误.第二呢 ...
- 05、ip划分+网络配置+虚拟化基础+基本路由
-- IP IANA (Internet Assigned Numbers Authority) ,Internet号分配机构.负责对IP地 址分配规划以及对TCP/UDP公共服务的端口定义.国际 ...
- Deep Residual Learning for Image Recognition(MSRA-深度残差学习)
转自:http://blog.csdn.net/solomonlangrui/article/details/52455638 ABSTRACT: 神经网络的训练因其层次加深而 ...
- Linux基础整理
命令 说明 chsh 查看和修改当前登录的Shell export 查看和设置Shell环境变量 read 读取从键盘或文件输入的数据 expr 四则远算和字符串运算 tmux 一个窗口操作多个会话 ...
- Linux的50个基本命令
1.ls -a 列出当前目录下的所有文件,包括以.头的隐含文件(如-/.bashrc) ls –l 列出当前目录下文件的详细信息 2. pwd 查看当前所在目录的绝对路经 3. cd 目录之间的移动 ...
- Linux常用基础操作命令大全(超实用精心整理)
相信大家都对黑客那种只用命令行对电脑操作的风格惊呆了,其实你也可以做到.linux是一款不同于windows的操作系统,而且它是黑客.渗透人员.运维人员等等必会的.如果你想学习,小编下面整理的命令将会 ...
- 大数据学习路线之linux系统基础搭建
学习大数据是必须掌握一定Linux知识的,工欲善其事,必先利其器.在学习之前,首先需要搭建Linux系统,本节将讲解VMware Workstation的安装和CentOS 7系统的安装. 1.2.1 ...
- NodeMCU学习(四):与其他设备通信
TCP连接 TCP是计算机网络中运输层协议,是应用层协议http协议的支撑协议.两台远程主机之间可以通过TCP/UDP协议进行通信并交换信息,前提是,相互通信的两台主机之间必须知道彼此的IP地址和端口 ...
- Debian Gun/linux基本用法
添加软件源:vim /etc/apt/sources.list 在文本中添加如下内容:deb http://mirrors.163.com/debian/ stretch main non-free ...
随机推荐
- javase(3)_二叉树
// 1.求二叉树中的节点个数 // 2.求二叉树的深度 // 3.前序遍历,中序遍历,后序遍历 // 4.分层遍历二叉树(按层次从上往下,从左往右) // 5.将二叉查找树变为有序的双向链表 // ...
- iOS 静态库,动态库与 Framework
iOS 静态库,动态库与 Framework 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用. 什么时候我们会用到库呢 ...
- Fortran学习记录3(选择语句)
流程控制语句 if的基本用法 if-else语句块 多重判断if-elseif语句 if语句嵌套 Select case语句 Goto语句 PAUSE CONTINUE STOP 流程控制语句 if的 ...
- redo log日志内容备忘
检查点是一串递增的数字. 在两个检查点之间,存在有一个MLOG_FILE_NAME的文件,里面记录着space和路径和MLOG_CHECKPOINT的一个检查点. MLOG_FILE_NAME总是在上 ...
- kvm虚拟迁移
1. 虚拟迁移 迁移: 系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行.在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术.在源主机上实时备份操作 ...
- linux中mysql自带同步
今天打算给一个做主备web服务器.考虑到数据库的同步,现在自己本地虚拟机做个实验. 经过慎重考虑(其实就是参考了下论坛大家的看法). 最后决定用mysql自带的同步设置. 话不多说 配置过程如下.
- docker系列之镜像服务器
docker 的镜像服务器 docker-registry 是 docker 项目的组成部分. 前面在谈 docker 的命令时, 它的 pull/push 命令就是和镜像服务器打交道. 并且, do ...
- 【STL】栈+队列+优先队列(详)+ 拯救行动题解
一.栈 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它是把新元 ...
- Lex与Yacc学习(四)之Lex规范
Lex规范的结构 lex程序由三部分组成:定义段.规则段和用户子例程序段 ...定义段... %% ...规则段... %% ...用户子例程序段... 这些部分由以两个百分号组成的行分隔开.尽管某一 ...
- PAT Basic 1055
1055 集体照 拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下: 每排人数为 N/K(向下取整),多出来的人全部站在最后一排: 后排所有人的个子都不比前排任何人矮: 每排 ...