惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
爱范儿
爱范儿
罗磊的独立博客
美团技术团队
Jina AI
Jina AI
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
IT之家
IT之家
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
月光博客
月光博客
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)

博客园 - xxp

翻译:Android程序开发入门 php,mysql下中文编码解决方案 asp.net中使用ajax中的三种方式 翻译:xoops搜索功能的使用 发布新软件:史上最轻量级的ORM--EasyDBOperation XOOPS模块开发快速入门中文翻译--索引 XOOPS模块开发快速入门中文翻译(十) XOOPS模块开发快速入门中文翻译(九) XOOPS模块开发快速入门中文翻译(八) XOOPS模块开发快速入门中文翻译(七) XOOPS模块开发快速入门中文翻译(六) XOOPS模块开发快速入门中文翻译(五) XOOPS模块开发快速入门中文翻译(四) XOOPS模块开发快速入门中文翻译(三) XOOPS模块开发快速入门中文翻译(二) XOOPS模块开发快速入门中文翻译(一) 简单的网页内容采集器(C#) 100%男性倾向? 55 为什么? 学习XOOPS的记录
C#网络编程学习笔记1
xxp · 2008-02-25 · via 博客园 - xxp

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