- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C复习资料2010
网络编程复习资料
第一章: 网络编程通信基础
1,TCP/IP协议示意图
2,端口
定义: 端口是TCP/IP协议簇中,应用层进程与传输层协议实体间的通信接口。端口是操作系统可分配的一种资源;应用程序(进程)通过系统调用与某端口绑定(binding)后,传输层传给该端口的数据都被相应进程接收,相应进程发给传输层的数据都通过该端口输出。
端口两种分配方式:全局分配(静态分配),本地分配(动态分配);
端口号:16位的整数,0-65535;
保留端口:0-1023,全局分配;
自由端口:1024-65535,本地分配;
TCP常用保留端口: FTP(21), HTTP(80), SMTP(25), POP3(110)
UDP常用保留端口:DNS(53), TFTP(69), SNMP(161)
在Internet中用一个三元组可以在全局中唯一标识一个应用层进程:应用层进程=(传输层协议,主机的IP地址,传输层的端口号)。
UDP与TCP的端口各自独立;
3,在网络通信中为什么要引入端口?
答: 在网络通信过程中,需要唯一识别通信两端的端点,即运行于某机器中的应用程序。如果没有引入端口,则只能通过进程号进行识别。进程号是系统动态分配的,不同的系统会使用不同的进程标识符,应用程序在运行之前并不知道自己的进程号,如果需要运行后再广播进程号则很难保证通信的顺利进行。而引入端口后,对于一些需要公开的服务如FTP\HTTP等,可以通过固定端口的机制提供服务。
4,服务器类工作示意图
5,相关知识
广播地址: 主机号为1的网络地址
回送地址: 用于网络测试或本机进程间通信.发送到这种地址的数据报不输出到线路上,而是立即被返回,又当作输入数据报在本机内部进行处理. 如首节数值为127的IP地址.常用的ping命令就是发送一个将回送地址作为目的地址的数据报.
6,常用类
命名空间: System.Net; System.Net.Sockets;
类: (1) IPAddress类;
(2) Dns类;
(3) IPHostEntry类;
(4) IPEndPoint类
IPAddress[] serverIP=Dns.GetHostAddresses(Dns.GetHostName());
则serverIP[0] 表示 ?
第二章 网络编程语言基础
1,线程:
任何一个C#程序都有一个默认的线程,该线程称为主线程;
一个线程要么是后台线程要么是前台线程。后台线程与前台线程类似,区别是后台线程不会影响进程终止;
当属于某个进程的所有前台线程都终止后,公共语言运行库就会结束该进程,而且所有属于该进程的后台线程也都会立即停止,而不管其后台工作是否完成;
线程池中的线程都是后台线程;
每个进程都有一个线程池。线程池默认大小有25个线程;
C#中常用的线程同步的语句是lock语句;
2 编码与解码
在网络通信中,很多情况下通信双方传达的都是字符信息。但是,字符信息并不能直接从网络的一端传递到另一端,这些字符信息首先需要被转换成一个字节序列后才能在网络中传输。将字符序列转换为字节序列的过程称为编码。当这些字节传送到网络的接收方时,接收方需反过来将字节序列再转换为字符序列,这个过程称为解码。
常见编码方式:
ASCII字符集;英语
非ASCII字符集;除英语外的不同的国家或地区自己的编码,如汉字GB2312 编码;
Unicode字符集;为使国际信息交流方便,国际组织制定了Unicode字符集。它为各种语言中的每一个字符规定了统一并唯一的字符,通常用两个字节来表示一个字符。
第三章 SOCKET 编程
1,SOCKET套接字
定义: 套接字是对网络中不同主机上应用进程之间进行双向通信的端点的抽象,一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议栈交换数据的机制。
从套接字(Socket)所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议栈进行通信的接口,是应用程序与网络协议栈进行交互的接口。
从套接字(Socket)实现的角度来讲,套接字是一个复杂的软件机构,包含了一定的数据结构,包含许多选项,由操作系统内核管理。
从套接字(Socket)使用的角度来讲,对于套接字的操作形成了一种网络应用程序的编程接口(API)。把这一套操作套接字的编程接口函数称作套接字编程接口,套接字是它的操作对象。
2,套接字的分类
(1)流式套接字(Stream Socket)
提供面向连接、可靠的数据传输服务,数据无差错、无重复的发送,且按发送顺序接收。内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制。
2)数
文档评论(0)