- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《网络程序设计期末总复习必威体育精装版版苏大
前言:
陆老师:“附件中为经修改、增添内容后的必威体育精装版《网络程序设计总复习题》,请转发全班同学,以复习这个为准,考试也已这个为准。
另外,考试的读程序部分,要求能读懂Linux Berkeley Socket编写的程序、Windows Winsock编写的程序,其中Windows MFC程序要求能读懂书上的对话框界面的Talkc程序中的各个类的程序编写,也请转告各位同学。
祝你们全班都能考个好成绩。
陆建德,即日答:数据报也即无连接套接字有两种模式:
(1)对等模式:
(2)C/S模式:
6. 原始套接字的编程基本步骤
原始套接字编程步骤如下:
(1)采用恰当的协议标志,创建原始套接字句柄;
(2)根据需要设置套接字的选项;
(3)调用connect和bind函数来绑定对方和本地地址;
(4)发送数据包、接收数据包;
(5)用完后,关闭套接字。
7. 服务器端和客户机端操作流式套接口的工作过程。
见下图。
8. 利用Unix操作系统的fork()系统调用,写出编制多进程并发执行服务器程序的基本编程框架。
在服务器程序中用fork()创建子进程,对于每一个客户端,用一个专门的进程为它服务,通过进程的并发执行,来实现对多个客户机的并发访问,基本的编程框架如下:
第三章 Windows环境的网络编程
1. WinSock规范与Berkeley套接口的区别是什么?
答:(a)套接口数据类型和该类型的错误返回值
(b) select() 函数和FD_*宏。在Winsock中,使用select()函数时,应用程序应坚持用FD_XXX宏来设置,初始化,清除和检查fd_set结构。
(c)错误代码的获得 在Winsock中,错误代码可以使用WSAGetLastError()调用得到。
(d)指针:所有应用程序与Windows Sockets使用的指针都必须是FAR指针。
(e)重命名的函数:
close()改变为closesocket(),ioctl()改变为ioctlsocket()
(f)Winsock支持的最大套接口数目 在WINSOCK.H中缺省值是64,在编译时由常量FD_SETSIZE决定。
(g)头文件: 原来Berkeley套接字的多个头文件现在被包含在Winsock的一个头文件中:对Windows Sockets1.1的应用程序,只需简单地包含winsock.h就足够了,对Windows Sockets2.x的应用程序,只需简单地包含winsock2.h就行了。
(h)Winsock规范对于原始套接口的支持。
(i)Winsock规范对于原始套接口和消息驱动机制的支持。体现在异步选择机制、异步请求函数、阻塞处理方法、错误处理、启动和终止等方面。
2. WinSock的注册和注销的过程
答:①注册过程:在WinSock程序的开始处,要调用WSAStartup ,其格式:
int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData );
其中,wVersionRequested:指定要使用的WinSock的最高版本号,
lpWSAData: 用来返回WinSockAPI实现细节的WSAData结构变量指针。
②注销过程:WinSock应用程序结束前,必须调用WSACleanup()函数,其格式为:
int WSACleanup ( void );
以解除与Winsock.DLL库的绑定,释放Winsock实现分配给应用程序的系统资源,中止对Windows Sockets DLL的使用。
3. 简要说明Unix/Linux操作系统和Windows操作系统对套接字网络编程接口的两种实现方式,这两种实现方式的差别体现在网络编程时有什么不同?
答: 要想实现套接字编程接口,可以采用两种实现方式:一种是Unix/Linux的方法,在操作系统的内核中增加相应的软件来实现,在BSD Unix及起源于它的操作系统中,套接字函数是操作系统本身的功能调用,是操作系统内核的一部分。另一种是Windows的方法,通过开发操作系统之外的winsock函数库来实现,其中每个函数具有与Unix套接字函数相同的名字与参数,这样,套接字库就能向没有本机套接字的计算机上的应用程序提供套接字编程接口。
这两种套接字实现方式的差别使得后者(Windows操作系统)需要在编的程序开始语句中先要装载并初始化winsock动态链接库(使用WSAStartup函数),在程序结束前需要卸载和注销winsock动态链接库(使用WSACleanup函数)。而前者(Unix
文档评论(0)