毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
基于TRCTC算法的时间隐信道的设计与实现(8)
SOCKET socket{
int af,
int type,
int protocol
};
3)Connect( )函数
该函数用来完成到指定地址的连接。说明如下:
int PASCAL FAR connect( SOCKET s, const struct sockaddr FAR* name,int namelen);
4)Send( )函数
Send( )函数作用是向已建立连接的套接字上发送数据。说明如下:
int PASCAL FAR send( SOCKET s, const char FAR* buf, int len, int flags);
5)Recv( )函数
该函数用于从已连接的套接字上接收数据。说明如下:
int PASCAL FAR recv( SOCKET s, char FAR* buf, int len, int flags);
其他函数不一一说明。
3.5 Socket的编程框架
Windows Socket应用程序最常见的是客户机/服务器模式,服务器是能够提供某种或某些功能的程序或进程;客户机是用户想使用服务器的某种或某些功能的程序或进程。在该模式中,应首先启动服务器进程,然后客户机通过网络(也可以是本机)访问服务器资源,以完成相应的操作。
通常的网络通信有两种方式,这里主要针对传输层而言,即:面向连接方式,如TCP协议;面向无连接方式,如UDP方式。但是有时为了编程方便,在使用UDP协议时采用面向连接的处理方式。
另外,针对如何处理网络请求,网络程序又可分为交互方式和并发方式。交互方式的特点是编程简单,不易出错,但是执行效率不高;相反,并发方式则相对复杂,不易控制,但是执行效率高。对于并发的实现有多种方式,其中主要的两种方式如下:
(1)创建线程为客户机服务,这里同样有以下几种方式实现:
i.为每一个客户端创建一个线程;
ii.服务器创建一定量的线程,形成一个线程池,当有客户端请求时,则分配一个线程为其服务,若没有线程可用,则客户端不得不等待,直到有其他客户端释放连接为止。
iii.服务器并不事先创建线程,而是在有客户连接到来时创建线程,线程的数量受到服务器预置值得限制。
(2)使用事件驱动方式。在一个线程内可以通过异步I/O操作方式,当有事件发生时,就触发相应的过程来处理。
对于面向连接方式:
1)首先启动服务器方,以提供相应服务:
a) 首先调用WSAStartup( )函数来初始化网络环境;
b) 调用socket( )函数来创建一个套接字;
c) 调用bind( )函数将本地地址与刚创建的套接字关联起来;
d) 调用listen( )函数监听发向该套接字的连接请求;
e)客户端的连接请求房子连接请求队列里,服务器调用accept( )函数从连接请求队列中取出第一个请求,创建一个为之服务的新套接字,该套接字处理所有与该客户交互的操作;而服务器进程的监听套接字这时继续处理来自其他客户的连接请求,直到因队列空而等待新的连接请求的到来。
f) 调用closesocket( )关闭监听套接字,释放套接字资源;
g) 调用WSACleanup( )函数释放相应的资源。
图7进一步说明了服务器端的编程框架。
图7 服务器结构
2)客户端进程:
a) 首先使用WSAStartup( )来初始化网络环境;
b) 调用socket( )来创建一个套接字;
c) 调用connect( )函数连接远程服务器,以请求服务;
d) 服务器响应连接后,此时客户进程开始于服务器交互操作,直到请求结束为止;
e) 调用closesocket( )关闭套接字,释放套接字资源;
f) 调用WSACleanup( )释放相应资源。
图8进一步说明了客户端的编程框架。
图8 客户端编程框架
3.6 本章小结
本章对WinSock机制做了介绍,分别讲述了WinSock的描述字,Socket的系统数据结构、地址说明,几个实验中使用的重要的Socket应用程序接口,以及Socket的编程框架。本章工作是实现TRCTC算法的基础。
共9页:
上一页
1
2
3
4
5
6
7
8
9
下一页
上一篇:
MP3音乐文件解码程序设计
下一篇:
C#个人事务管理系统的设计与实现+ER图
基于Apriori算法的电影推荐
基于PageRank算法的网络数据分析
基于神经网络的验证码识别算法
基于网络的通用试题库系...
python基于决策树算法的球赛预测
基于消费者个性特征的化...
加密与解密算法的研究【1931字】
神经外科重症监护病房患...
国内外图像分割技术研究现状
AT89C52单片机的超声波测距...
中国学术生态细节考察《...
10万元能开儿童乐园吗,我...
承德市事业单位档案管理...
医院财务风险因素分析及管理措施【2367字】
志愿者活动的调查问卷表
公寓空调设计任务书
C#学校科研管理系统的设计