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
Surance Yin@ Surance Center
转载请注明出处
转载请注明出处