网络编程复习资料2013秋剖析.pdfVIP

  • 3
  • 0
  • 约9.9千字
  • 约 15页
  • 2017-06-24 发布于湖北
  • 举报
《网络编程》复习资料2013 秋 第一章 网络编程通信基础 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 的端口各自独立;TCP 的80 端口和 UDP 的80 端口是不相同的端口。 3,在网络通信中为什么要引入端口? 答: 在网络通信过程中,需要唯一识别通信两端的端点,即使用端口识别运行 于某主机中的应用程序。如果没有引入端口,则只能通过进程号进行识别。进程 号是系统动态分配的,不同的系统会使用不同的进程标识符,应用程序在运行之 前并不知道自己的进程号,如果需要运行后再广播进程号则很难保证通信的顺利 进行。而引入端口后,就可以利用端口号识别应用程序,同时通过固定端口号来 识别和使用公共服务,如HTTP 和 FTP 等。 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,线程: a) 任何一个 C#程序都有一个默认的线程,该线程称为主线程; b) 一个线程要么是后台线程要么是前台线程。后台线程与前台线程类似, 区别是后台线程不会影响进程终止; c) 当属于某个进程的所有前台线程都终止后,公共语言运行库就会结束该 进程,而且所有属于该进程的后台线程也都会立即停止,而不管其后台 工作是否完成; d) 线程池中的线程都是后台线程; e) 每个进程都有一个线程池。线程池默认大小有 25 个线程; f) C#中常用的线程同步的语句是 lock语句; g) “跨线程访问控件问题”的原因是:控件都是在主线程中创建的,而系 统默认控件的修改权归其创建线程所有。在子线程中如果需要直接修改 控件的内容,需要使用委托机制将控件的修改操作交给主线程处理。因 此,当没有使用委托机制而是直接在子线程中修改控件内容时,会引发 控件安全问题,即跨线程访问控件问题; h) .NET 下线程默认为前台线程。如果将线程的 isBackGround设为 true, 则表示该线程为后台线程,否则为前台线程; 2 编码与解码 在网络通信中,很多情况下通信双方传达的都是字符信息。但是,字符信息 并不能直接从网络的一端传递到另一端,这些字符信息首先需要被转换成一个字 节序列后才能在网络中传输。将字符序列转换为字节序列的过程称为编码。当这 些字节传送到网络的接收方时,接收方需反过来将字节序列再转换为字符序列, 这个过程称为解码。 常见编码方式:

文档评论(0)

1亿VIP精品文档

相关文档