计算机网络原理实验三_计算机网络原理实验五

2020-02-28 其他范文 下载本文

计算机网络原理实验三由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算机网络原理实验五”。

实验

三、套接字编程

序号: 姓名: 字丽梅 学号: 20091120216 成绩

1.实验目的:

两人一组,编写一个客户端、服务器程序,掌握Socket编程原理。2.实验环境:

连入局域网络的主机一台。3.实验指导:

Socket API是实现进程间通信的一种编程设施,也是一种为进程间提供底层抽象的机制。理解socket编程模型及其原理。4.实验分析,回答下列问题。

a.运行指导书中的程序,并修改服务器的功能(自己思考),改写成多线程web服务器(选作),附上源代码,并加关键代码注释。

b.给出程序调试和运行的截图。

c.回答下列问题:

(1)为什么在服务器和客户端要包含winsock2.h文件?

答:Windows网络编程至少需要两个头文件:winsock2.h和windows.h。

(2)为什么在服务器和客户端程序中要加入#pragma comment(lib,“ws2_32.lib”)语句,如果不加会出现什么问题?

答:#pragma comment(lib,“ws2_32.lib”)表示链接ws2_32.lib这个库。该库对应ws2_32.dll,提供了对某些网络相关API的支持,若使用其中的API,则应该将ws2_32.lib加入工程,如果不加入#pragma comment(lib,“ws2_32.lib”),则不能使用其中的API,即得不到相关API的支持。

(3)为什么在服务器和客户端程序中要使用WSAStartup函数,如果不用程序会有什么问题?

答:本函数必须是应用程序或DLL调用的第一个Windows Sockets函数.它允许应用程序或DLL指明Windows Sockets API的版本号及获得特定Windows Sockets实现的细节。应用程序或DLL只能在一次成功的WSAStartup()调用之后才能调用进一步的Windows Sockets API函数。如果不用应用程序或DLL就不能进一步的调用Windows Sockets API函数,程序就不能继续执行。

(4)如果服务器程序中没有memset(server.sin_zero, 0, sizeof(server.sin_zero));语句,程序会出现什么错误,为什么?

答:没有错误,注释这一条语句后,程序调试成功,实现访问。

(5)如果先运行客户端程序,程序会有什么现象,为什么会有这一现象?

答:程序跳出运行,并显示”can not creat connect!”因为没有相应的服务器与之创立链接。

(6)如果服务器程序所在计算机没有连接网络,程序会发生什么错误?我们捕获到什么错误信息?

答:如果服务器程序所在计算机没有链接网络,则执行程序后出现:

binding stream socket: No error Pre any key to continue...(7)上述服务器是串行处理多个客户端的请求,如何该成并发处理的服务器? 答:用父进程调用accept,然后调用fork,这样,已连接套接口就在父进程与子进程间共享,一般来说,接下来便是子进程读、写已连接套接口并关闭侦听套接口,而父进程则关闭已连接套接口。

《计算机网络原理实验三.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
计算机网络原理实验三
点击下载文档
相关专题 计算机网络原理实验五 计算机网络 原理 计算机网络原理实验五 计算机网络 原理
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文