做一名网站编辑要具备什么资格,电子会员卡系统哪个好,中国和住房城乡建设部网站首页,网站建设前的功能网络编程 HTTP网络编程IPAddress IP地址类WebClient类WebRequest类和WebResponse类 WebBrowser网页浏览器控件TCP网络编程TcpClient类TcpListener类NetworkStream类Socket类 HTTP网络编程
IPAddress IP地址类
IPAddress类代表IP地址#xff0c;可在十进制表示法和实际的整数… 网络编程 HTTP网络编程IPAddress IP地址类WebClient类WebRequest类和WebResponse类 WebBrowser网页浏览器控件TCP网络编程TcpClient类TcpListener类NetworkStream类Socket类 HTTP网络编程
IPAddress IP地址类
IPAddress类代表IP地址可在十进制表示法和实际的整数地址之间进行转换。IPHostEntry类封装了与主机相关的信息。Dns类可以检索IP地址和获取主机名。
域名解析示例
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;namespace NetWorkDemo
{public partial class FormDNS : Form{public FormDNS(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){IPHostEntry host Dns.Resolve(textBox1.Text);foreach (IPAddress addr in host.AddressList){long ip addr.Address;listBox1.Items.Add(addr.ToString());listBox1.Items.Add(ip.ToString());}textBox2.Text host.HostName;textBox3.Text IPAddress.Broadcast.ToString();}}
}WebClient类
WebClient类提供用于将数据发送到由URI标识的资源及从这样的资源接收数据的常用方法。 WebClient类常用方法
名称说明DownloadString以字符串形式下载位于指定URI的资源OpenRead打开流向指定资源的可读流OpenWrite打开一个流以将数据写入指定的资源。这些方法不会阻止调用线程UploadString将指定的字符串上载到指定的资源。这些方法不会阻止调用线程
WebClient类常用属性
名称说明IsBusy获取一个值该值指示某一Web请求是否正在进行中BaseAddress获取或设置WebClient发出请求的基URI
WebRequest类和WebResponse类
WebClient类的使用比较简单单功能有限而且不能提供身份验证相关信息。如果使用某种特定协议需要结合使用WebReques类和WebResponse类。WebRequest类用于发出对一个URI的请求是抽象类。 WebResquest类主要方法
名称说明Create()创建对象GetResponse()在子类中被重写时返回对Internet请求的响应GetRequestStream()在子类中被重写时返回用于将数据写入Internet资源的Stream
WebResquest类主要属性
名称说明ContentLength在子类中被重写时获取或设置所发送的请求数据的内容长度ContentType在子类中被重写时获取或设置所发送的请求数据的内容类型Credentials在子类中被重写时获取或设置用于对Internet资源请求进行身份验证的网络凭证Method在子类中被重写时或取或设置要在此请求中使用的协议方法RequestUri获取与请求关联的Internet资源的URIHeaders在子类中被重写时获取或设置与请求关联的表头名称/值对的集合
WebResponse类的主要成员
名称说明GetResponseStream在子类中被重写时从Internet资源返回数据流ContentLength在子类中被重写时获取或设置所发送的请求数据的内容长度ContentType在子类中被重写时获取或设置所发送的请求数据的内容类型Headers在子类被重写时获取或设置与请求关联的标头名称/值对的集合
下载文件和获取Header信息示例
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace NetWorkDemo
{public partial class FormDownload : Form{public FormDownload(){InitializeComponent();}/// summary/// 下载文件/// /summary/// param namesender/param/// param namee/paramprivate void button1_Click(object sender, EventArgs e){WebClient client new WebClient();Stream s client.OpenRead(textBox1.Text);StreamReader reader new StreamReader(s);richTextBox1.Text reader.ReadToEnd();reader.Close();s.Close();}/// summary/// 获取Header头信息/// /summary/// param namesender/param/// param namee/paramprivate void button2_Click(object sender, EventArgs e){HttpWebRequest req (HttpWebRequest)WebRequest.Create(textBox1.Text);HttpWebResponse res (HttpWebResponse)req.GetResponse();NameValueCollection headers res.Headers;foreach (string name in headers){listBox1.Items.Add(name ------ headers[name]);}}}
} WebBrowser网页浏览器控件
将WebBrowser控件拖拽到窗体上。设置网页地址即可浏览网页 webBrowser1.Navigate(“www.baidu.com”, false);
TCP网络编程
System.Net.Sockets命名空间包含了一些相关类允许直接发送TCP网络请求或者某个端口监听TCP网络请求。 System.Net.Sockets命名空间 类
名称说明Socket实现套接字接口SocketException发生套接字错误时引发的异常TcpClient为TCP网络服务提供客户端连接TcpListener从TCP网络客户端侦听连接UdpClient提供用户数据协议(UDP)网络服务
枚举
名称说明AddressFamily指定Socket类的实例可以使用的寻找方案ProtocolFamily指定Socket类的实例可以使用的协议类型PortocolType指定Socket类支持的协议SocketFlags指定套接字的发送和接收行为SocketOptionLevel为Socket.SetSocketOption和Socket.GetSocketOption方法定义套接字选项级别
TcpClient类
主要使用TcpClient类为TCP网络服务提供连接包括相关属性和方法来控制连接通过对流对象添加读写功能。 TcpClient类的主要方法
名称说明Connect使用指定的主机名和端口号将客户端连接到TCP主机GetStream返回用于发送和接收数据的NetworkStreamClose释放此TcpClient实例而不关闭基础连接
TcpClient类的主要属性
名称说明Client获取或设置基础SocketSendTimeout发送操作超时时间SendBufferSize获取或设置发送缓冲区的大小ReceiveTimeout接收操作超时时间ReceiveBufferSize获取或设置接收缓冲区的大小
TcpListener类
TcpListener类用于监听和接收连接请求主要方法
方法说明Start开始侦听传入的连接请求AcceptSocket接受挂起的连接请求Stop关闭侦听器
NetworkStream类
传输数据时主要使用了NetworkStream类它代表的是网络中传输的数据流在发生会接收数据时可从流中获取字节数据或对应的字符串。 NetworkStream类的主要方法
名称说明Read()从NetworkStream读取数据ReadByte()从流中读取一个字节并将流内的位置向前推进一个字节已到达流的末尾则返回-1Write()将数据写入NetworkStreamWriteByte()将一个字节写入流的当前位置并将流内的位置向前推进一个字节
NetworkStream类的主要属性
名称说明Length获取流上可用数据的长度Socket获取基础Socket
服务端
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace NetWorkDemo
{public partial class FormTCPRecv : Form{public FormTCPRecv(){InitializeComponent();}private TcpListener listen;private NetworkStream netstream;/// summary/// 启动/// /summary/// param namesender/param/// param namee/paramprivate void button1_Click(object sender, EventArgs e){listen new TcpListener(9999);listen.Start();listBox1.Items.Add(服务器启动);Socket socket listen.AcceptSocket();netstream new NetworkStream(socket);}/// summary/// 接收/// /summary/// param namesender/param/// param namee/paramprivate void button2_Click(object sender, EventArgs e){if (netstream.DataAvailable){byte[] getdata new byte[1024];int length netstream.Read(getdata, 0, getdata.Length);string msg Encoding.Default.GetString(getdata, 0, length);listBox1.Items.Add(收到客户端消息);listBox1.Items.Add(msg);}}}
}
客户端
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace NetWorkDemo
{public partial class FormTCPSender : Form{public FormTCPSender(){InitializeComponent();}private NetworkStream netstream;private void button1_Click(object sender, EventArgs e){TcpClient client new TcpClient();client.Connect(localhost, 9999);netstream client.GetStream();if (textBox1.Text.Trim() ){MessageBox.Show(消息不能为空);return;}else{byte[] senddata Encoding.Default.GetBytes(textBox1.Text);netstream.Write(senddata, 0, senddata.Length);netstream.Flush();}netstream.Close();}}
}
Socket类
Socket实例包含了一个本地或者一个远程端点的套接字信息Socket类的主要成员 Socket类的主要方法
名称说明Connect建立与远程主机的连接Close关闭Scket连接并释放所有关联的资源Listen将Socket置于侦听状态Receive接收来自绑定的Socket的数据Send将数据发送到连接的Socket
Socket类的主要属性
名称说明AddressFamily获取Socket的地址族Available获取已经从网络接收且可供读取的数据量Connected获取一个值该值表明套接字是否与最后完成发送或接收操作的远程设备得到连接ProtocolType获取Socket的协议类型RemoteEndPoint获取远程端点SendTimeout发送超时时间SocketType获取Socket的类型ReceiveBufferedSize获取或设置Socket接收缓冲区的大小
Socket类的构造函数 public Socket(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType);