软件复习提纲_第1页
软件复习提纲_第2页
软件复习提纲_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通信应用软件复习大纲1、请指出下列英文缩写的含义API,IM :即时通讯,IPv4:互联网协议版本 4,NA T:网络地址转换,P2P:点对点通信,TCP,UDP,ICMP :网际控制消息报文,WiFi, :无线ISP:互联网服务提供者,DNS :域名管理2、信息的含义是指由 程序构造和解释的字节序列,协议是关于由通信程序交换的分组及 其含义的协定。3、请简要论述 这个特殊的 IP 地址的含义。解: IPV4 的 回送地址,总是被分配给特殊的回送接口,回送接口是简单地把传输的分组正 确地回送给发送者的虚拟设备4、端口号在 IPv4 和 IPv6 中是相同, 即 16 位无符号的二进制数。 因此

2、每个端口号的范围是161216-1 ( 165535)。5、如何区分 TCP/IP 通信的客户端和服务器程序? 解:客户端发起通信,而服务器程序则被动地等待,然后响应联系它的客户,连接的是客户 端,被连接的是服务器。6、什么是套接字?解:套接字是一个抽象层, 应用程序可以通过它发送和接收数据, 其方式与打开文件句柄允 许应用程序读写数据到稳定的存储器非常相似, 套接字允许应用程序插入到网络中, 并与插 入到同一网络中的其他应用程序通信7、请画出套接字、协议与端口之间的逻辑关系并加以说明。8、在 Linux 操作系统中如何查找本机的计算机名称。Hostname9、请指出下列 Linux 命令的功

3、能a)cd :转换目录b)pwd :显示当前目录c)ls:显示当前目录下的文件d)gcc: c 编译e)cp:拷贝f)mkdir :新建文件夹10、请写出在 Linux 中编译链接 hello.c 程序的命令,输出程序 hello解: gcc -o hello hello.c11、典型的 TCP 客户端通信步骤有哪些?解:( 1)使用 socket()(创建套接字( 2)使用 connect()建立到达服务器的连接( 3)使用 send()和 recv()通信( 4)使用 close()关闭连接12、典型的 TCP 服务器通信步骤有哪些? 解:( 1)使用 socket()创建套接字(2)使用

4、 bind ()给套接字分配端口号( 3)使用 listen()告诉系统允许对该端口建立连接,反复执行以下操作( 4)调用 accept()为给个客户连接获取新的套接字( 5)使用 send()和 recv()通过新的套接字与客户通信( 6)使用 close()关闭客户连接13、TCP 是一种 流套接字 。通过在连接的一端调用 send()发送的字节可能不会通过在另一 端单独调用一次 recv()而全部返回。14、在创 建套接 字时, 套 接字类型为 SOCK_STREAM 是指 流 套 接 字 , SOCK_DGRAM 是 数 据 报 套 接 字。15、关闭套接字的函数 close 的功能是

5、 close()告诉底层协议栈发起关闭通信以及释放与 套接字关联的任何资源所需的任何动作。16、请指出三种地址结构的区别: sockaddr, sockadd_in, sockaddr_in6 的区别。 解: sockaddr 通用的Sockadd_in IPV4 用的地址Sockaddr_in6 IPV6 用的地址17、在 TCP/IP socket 中获取本地地址和外部地址的函数是什么? 解:获取本地地址 getsockname() 获取外部地址 getpeername()18、TCP/IP 编程中所谓通配符地址的语义是:它匹配任何特定的地址,该通配符的宏定义 是 INADDR_ANY ,

6、 IN6ADDR_ANY 。19、TCP 服务器端处理客户进入的连接的函数是accept()和 listened()。20、编写通用的 TCP 客户程序(适用于 IPv4 和 IPv6 )的关键是创建套接字时指定域为 通 信 领 域 (domain) 。21、UDP提供了比 TCP更简单的端到端服务。事实上, UDP 只执行两种功能:(1) 它向 IP 层添加了另一个寻址(端口)层 (2)它会检测传输中可能发生的数据损坏,并丢弃任何损坏的数据报。22、编写一个简单的 TCP客户端和服务器程序,要求客户端传输“hello world ”给服务器。23、编写一个简单的 UDP 客户端和服务器程序,

7、要求客户端传输“ hello world ”给服务器。24、在 UDP 客户端程序中调用 connect() 函数主要目的是什么? 解:在 udp 套接字上调用 connect()来固定通过套接字发送的将来数据报的目的地址是可 能的,一旦连接,就可以使用 send()代替 sendto()传输数据报, ,因为不再需要指定目 的地址。25、在何种情况下 UDP 程序中可以使用 send 和 recv 函数? 解: 在调用了 connect()函数以后26、为什么在 C99 语言规范中要引入数据类型 uint8_t 、int16_t、int32_t 等类型? 解:因为在不同的平台上,相同的数据类型

8、的大小可能不一样27、请分别给出数据 186 的 32 位大端顺序和小端顺序表示序列。 解:大端: 0 0 0 0 0 0 0 BA (186)小端: BA 0 0 0 0 0 0 028、何谓网络字节顺序和本机字节顺序?将本机字节顺序转换为网络字节顺序的函数是什 么?反之是哪个函数? 解:用于在 Internet 中发送多个字节的数字的大多数协议都使用大端字节顺序,事实上,它 有时也称为网络字节, 由硬件使用的字节顺序 (无论它是大端顺序还是小端顺序) 称为本机 顺序。 本机字节转换为网络字节 htons 和 htonl 网络字节转换为本机字节 ntohs 和 ntohl29、在 32 位操

9、作系统中,请问下列语句打印的语句是什么?char a, b ;printf( “sizeof(a+b) is %dn ”, sizeof(a+b);30、C 语言对于结构体数据结构的对齐规则是: (1)数据结构是最大限度地对齐的也就是说一个结构体的任何实例的地址(包括数组 中的地址)都可以被其最大的本机整型字段除尽(2)其类型是多字节整数类型的字段要与它们的大小(以字节为单位)对齐31、C99 扩展标准定义了一种 wchar_t 字符类型,用于存储可能为每个符号使用多个字节的 字符集中的字符。32、请列出 C 语言中的位操作符与,或,反,左移,右移 。33、C 语言中,网络传输的标准协议内容编

10、码定义格式一般分为两类,即文本字符格式和以结构体方式的二进制 。33、基于定界符模式的组帧,其特点是什么? 基于定界符的方法通常用于编码为文本信息:定义特定的字符或字符序列来标记消息的末 尾,接收者只需扫描输入(作为字符)以寻找定界符序列,它会返回定界符之前的字符串34、获取或设置套接字选项的函数分别是getsockopt()和 setsockopt()。35、Linux 操作中的信号是什么?36、编写一个程序当用户按下Ctrl + C 组和键时能够中断当前应用程序, 并输出文字 “ Youpress Ctrl and C key ”。37、在 Linux 环境下,获取所有系统信号的命令是 _

11、kill l_。38、认识到信号不会排队很重要,信号要么是挂起的,要么不是。如果在处理信号时把相同的信号递送多次,那么在处理程序完成原始执行之后它只会执行_一 _次。39、编写一个计时器程序,该程序实现每个2 秒打印当前机器时间。40、在 Linux 系统中,产生一个新进程的函数是 _fork ()。在子进程中该函数返回值是 0, 在父进程中该函数返回值是子程序的 ID 号。41、当子进程终止时,它不会自动消失,子进程变成僵尸进程,直到父进程通过调用 waitpid ()对它进行收尸为止。42、请指出多进程设计应用程序与多线程设计应用程序的区别? 解:每次创建一个进程时,操作系统都必须复制父进

12、程的全部状态,包括:内存、栈、文件 /套接字描述符等。线程( thread)通过允许在同一个进程内进行多任务处理而减小了这种代 价,新创建的线程只是简单地共享与父线程相同的地址空间(代码和数据) ,而无需复制父 线程的状态。43、在设计多任务处理的服务器程序时,如何考虑服务器的进程或线程数量? 解244、请指出广播与多播应用程序的约束限制。 解:第一种限制是:只有 UDP 套接字可以使用广播和多播服务,第二种限制是:广播只能 覆盖一个局部范围, 通常是一个局域网。 第三种限制是 :大多数 Internet 服务提供商目前都不 支持跨越 Internet 的多播。45 、 在 IPv4 中 广

13、播 的 IP 地 址 255 .255 .255 .255 , 多 播 的 IP 地 址 范 围 是 224 .0 .0 .0239 .255 .255 .255 。46、请简要描述 socket API 底层与套接字关联的数据结构。47、在 Linux 操作系统中,获得 socket API 底层数据结构“快照”的工具是 n e t s t a t。48、在设计 TCP 程序要避免死锁风险意味着要仔细 设 计 协 议 ,以 避 免 在 两 个 方向 上 同 时 发 送 大 量 的 数 据。49、使用 linux 的命令 ls l 得到下列有关文件的信息,请说明每部分含义。50、如果使用多进程

14、来设计 TCP 服务器, 请用图示的方式给出客户端与服务器的设计思路。51、指出下列程序中粗体部分的含义int main(int argc, char *argv )if( argc != 2) unsigned short port = atoi(argv1);atoi 把一个字符串转换成整数52、请你谈谈 TCP 程序和 UDP 程序的主要特点,并指出它们主要应用的领域? HTTP 协议 为什么被称为“无状态”协议?解;TCP :有序,可靠,速度慢,资源消耗多用于文字传输,邮件发送UDP:无序,不可靠,速度快,资源消耗少 用于广播信息,网络管理 HTTP 一次响应和请求后就断 开连接 ,两

15、次之间没有联系54、请指出下列常用 C 语言函数的功能:memset ( 确保未显示设置的结构的任何部分都包含0strcpy ( 拷贝字符串atoi ( 把端口号从字符串转换为数值sprintf ( 格式化到某变量内exit ( 退出 sleep(休眠 strlen ( 求字符串长度55、请设计下列协议对应 C 结构体。Srruct voteMsgBin unit8_t magic:6; Unit8_t flags:2;Unit8_t zero;Unit16_t candidate ID;Unit32_t countHigh;Unit32_t countLow;56、在 TCP/IP 程序中,当发送端发送一条消息并等待对端响应消息时,如果对端没有返回 响应消息或者响应消息丢失, 可能导致发送者无限制等待, 解决这一问题的方法是什么?又 会带来哪些新的问题?加个计时器 计时的时间长短57、请指出下列在 TCP/IP socket 编程中常见的宏定义含义: SOCK_STREAM :利用可靠的字节流语义指定一个套接字 IPPROTO_TCP :TCP 协议AF_INET : IPv4 的接口AF_INET6 :IPv6 的接口SO_R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论