C#网络编程学习笔记1

TCP/IP是什么

一个协议组。

TCP/IP为什么流行?

因为兼容各种底层组网和标准。(俗话说就是各种接线方式和线)

TCP/IP分层

应用层:SMTP FTP Telnet
传输层:TCP UDP (负责传输并保证到达)
网络层: IP (负责定义门牌号和路径)
数据接口: Ethernet、 Serial Line (最接近物理层,用来封装物理层)

=====================

Socket分类(传输层)

1。流式 (Stream) 对应TCP协议
2。数据报式(Gram)对应UDP协议

Socket应用:

当高层协议(如Http协议、SMTP协议)都满足不了你的需求的时候,强烈需要自定义网络传输的时候才用。 否则就用WebRequest,Email,Ftp类库就行啦。

Socket是什么

可以看作是Client到Server的数据通道

Socket的类库

TCPClient、TCPListener

用Socket实现的网络服务

Telnet Http Email Echo

用法--类似于打电话

客户端:

1。建立Socket实例(new 一个出来)
2。通过Connet方法连接到指定服务器
3。通过Send或者SendTo方法发送数据
4。通过Receive或ReceiveFrom方法接收回执数据

服务器端:

1。Bind方法绑定到指定端口
2。用Listen方法侦听请求
3。通过Accept接收客户端Socket
4。处理数据
5。shutdown 并Close Socket

使用到的类:

EndPoint类:

代表一个终端,一般用 地址+端口 来表示。 子类 IPEndPoint用 IP+端口 来表示
获取IPEndPoint:IPEndPoint ipEP=new IPEndPoint(IPAddress,port);

IPAddress类:

获取方式:IPAddress myIp =IPAddress.Parse("192.168.0.1");

Dns类:

域名服务类。(域名服务:把 www.fltek.com.cn解析为IP地址的一种服务)
IPHostEntry myhost= Dns.Resolve(" www.fltek.com.cn");
(或者 IPHostEntry myhost=Dns.GetHostByName(" www.fltek.com.cn");)
IPAddress myIP=myhost.AddressList[0]; 这就获取了上面的IPAddress

常用异常:

SocketException
ArgumentException 参数为空异常
objectDisaposedException Socekt已关闭异常

注意:

同步和异步:

同步表示 Socket没获取完数据就不把控制权交给程序,一直去获取数据;异步可以马上交回给程序。
例子:
同步 Send方法
异步:BeginSend

你可能感兴趣的:(网络编程)