下载此文档

计算机网络程序设计程序总结.doc


文档分类: | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
北京联合大学信息学院
《网络程序设计》
课程总结




姓名:吴迪
学号:20**********
班级:计算机1101B
专业:计算机科学与技术
一:控制台开发同步阻塞模式相关函数原型和参数说明
Winsock提供了两种套接字模式:阻塞模式和非阻塞模式。在阻塞模式下,在I/O操作完成前,执行操作的Winsock函数(比如send和recv)会一直等候下去,不会立即返回。
阻塞模式
WindowsSockets在阻塞和非阻塞两种模式下执行I/O操作。在阻塞模式下,在I/O操作完成前,执行的操作函数将一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O是否完成,该函数所在的线程会继续运行。在阻塞模式的套接字上,调用任何一个WindowsSockets API都会消耗不确定的等待时间。在调用recv()时,发生在内核中等待数据和复制数据的过程如下:当调用recv()时,系统首先检查是否有准备好的数据。如果数据没有准备好,系统就处于等待状态。当数据准备好后,将数据从系统缓冲区复制到用户空间,然后该函数返回。在套接应用程序中,当调用recv()时,用户空间未必就已经存在数据,此时recv()函数就是会处在等待状态。
输入操作:recv(),recvfrom(),WSARecv(),WSARecvfrom()。以阻塞套接字为参数调用这些函数接收数据,如果此时套接字缓冲区内没有数据可读,则调用线程在数据到来前一直睡眠。
输出操作:send(),sendto(),WSASend(),WSASendto()。以阻塞套接字为参数调用这些哈思楠发送数据。如果套接字缓冲区没有可用空间,线程会一直睡眠,直到有空间。
接收连接:accept(),WSAAcept()。以阻塞套接字为参数调用这些函数,将等待接受对方的连接请求,如果此时没有连接请求,线程就会进入睡眠状态。
外出连接:connect(),WSAConnect()。对于TCP连接,客户端以阻塞套接字为参数,调用这些函数向服务器发起连接。该函数在收到服务器的应答前,不会返回。这就意味着TCP连接总会等待至少从客户端到服务器的一次往返的时间。
二:控制台TCP协议应用基本步骤和说明
TCP协议是基于面向连接的可靠的通信协议。其具有重发机制,即当数据被破坏或者丢失时,发送方将重发该数据。

三:控制台UDP协议应用基本步骤和说明
UDP协议是基于用户数据报协议,属于不可靠连接通信的协议。例如,当用户使用UDP协议发送一条消息时,并不知道该消息是否已经到达接收方,或者在传输过程中数据已经丢失。但是在即时通信中,UDP协议在对一些对时间要求较高的网络数据传输方面有着重要的作用。基于UDP的网络程序是面向无连接,不可靠的一种应用程序。所以,当程序创建套接字句柄成功以后,便可以直接调用函数进行数据收发,最后,关闭套接字对象。在整个过程中,程序都不用调用任何函数连接服务器或者接受客户端的连接等操作。这种类型的应用程序多用在即时通信中。
UDP函数sendto:
int sendto (
//发送函数
SOCKET s,
//套接字句柄
const char FAR * buf,
//数据缓冲区
int len,
//数据的长度
int flags,
//一般设置为0
const struct sockaddr FAR * to,
//目标地址结构信息
int tolen
//目标地址结构大小
);
int recvfrom (SOCKET s, char FAR* buf, int len, int flags,
struct sockaddr FAR* from, int FAR* fromlen); //接收函数
四:对话框开发异步选择模型相关函数原型和参数说明
WSAAsyncSelect模型是WinSock中另一个常用的异步I/O模型。
该模型可在套接字上接收以Windows消息为基础的网络事件通知。调用WSAAsyncSelect函数自动将套接字设置为非阻塞模式,并向WinSock DLL注册一个或多个感兴趣的网络事件,同时提供接收通知时使用的窗口句柄,当注册的网络事件发生时,对应的窗口将收到一个基于消息的通知函数。WSAAsyncSelect()的作用是将用户指定的套接字对象设置为异步模式。该函数的原型如下:
int WSAAsyncSelect (
SOCKET s,
HWND hWnd,
unsigned int wMsg,
long lEvent
);
参数s表示需要设置

计算机网络程序设计程序总结 来自淘豆网www.taodocs.com转载请标明出处.