首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请阅读以下说明和Socfort程序,将应填(n)处的字句写在对应栏内。 网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。 以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:客
请阅读以下说明和Socfort程序,将应填(n)处的字句写在对应栏内。 网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。 以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:客
admin
2010-01-17
42
问题
请阅读以下说明和Socfort程序,将应填(n)处的字句写在对应栏内。
网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。
以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:客户机与服务器建立连接后,接收服务器向客户机返回的一条消息。
程序中用到了两种结构hostent与sockaddr_in:
hostent类型的结构定义如下:
struct hostent { char * h_name; //主机的正式名称
char * * h-aliases; //别名列表
int h_addrtype; //主机地址类型:AF-XXX
int H_length; //主机地址长度:4 B(32 b)
char * * h_addr_list; //主机IP地址列表}
#define h¬¬¬-addr h-addr-liSt[0]
sockaddr_in类型的结构定义:sockaddr_in是通用套接字结构sockaddr在TCP/IP协议下的结构重定义,为TCP/IP套接字地址结构。
Struct sockaddrin{
short int sin-family;//地址类型AF_XXX,其中AF_INET为TCP/P专用
unsigned short int sin-port; //端口号
struct in_addr Sin_addr; //Internet地址
//端口号以及Internet地址使用的是网络字节顺序,需要通过函数htons转换
}
struct iN_addr{
_u32 s-addr; //类型为unsignel-long
}
程序中使用到了多个函数:
struct hostent * gethostbyname(const char * hostname);
函数gethostbyname查询与指定的域名地址对应的IP地址,返回一个hostent结构的指针,如果不成功则返回NULL。
Int¬_socket(int domain,im-type,int protoco1);
函数socket创建一个套接字描述符,如果失败返回-1。domain为地址类型,type为套接字类型,本题中为SOCK_STREAM;protocol指定协议,本题中为0。
int connect(int sockfd,struct sockaddr * servaddr,int addrlen);
函数connect与服务器建立一个连接,成功返回0,失败返回-1。servaddr为远程服务器的套接字地址,包括服务器的IP地址和端口号;addrlen为地址的长度。
int read(intfd,char * bur,int len);
int write(intfd,char * buf,int len);
函数read和write从套接字读和写数据,成功返回数据量大小,否则返回-1。buf指定数据缓冲区,len指定接收或发送的数据量大小。
[Socket程序]
//程序中引用的头丈件略
#definePORT 3490
//定,义端口号为3490
int main(int argc,char * argv[])
{int tsockfd,nbytes;//套接字描述符、读入缓冲区的字节数
char buf[1024];//缓冲区
struct hostent * he;//主机信息类型
struct (1) srvadd;//Internet套接字结构
if(argc!=2)
{perror(“调用参数为零,请输入服务器的主机名!\n”);exit(1);}
if((2))//如果通过主机名没有获得对应的主机信息就提示用户
{perror(“无法通过主机名获得主机信息!\n”);exit(1);}
if((3))//在无法创建套接字时,提示用户
{perror(“无法创建套按字!\n”);exit(1);}
bzero(&srvaddr, (4));//置空srvaddr
sraddr,SIR_family=AF_INET;
srvaddr,sln_port:htons(PO日T);srvaddr.sin_addr: (5);
//设置套接字结构的各项信息,其中的地址来自域名查询后的hp变量
if(connect(sockfd,(n),sizeof(struct sockaddr))==-1)
{perror("连接失败!\n");exit(1);}
//连接服务器,如果失败则提示用户
if((nbytes=read(sockfd,buf,MAXDATASIZE))=-1)
{perror("读失败!\n");exit(1);}
//从套接字中读出数据
buf[nbytes]=’\0’;
printf("读到的内容:%s",buf);
CIose(SOCkfd);
//打印数据并关闭套接字
选项
答案
(1)soekaddr_in (2)(he=gethostbyname(argv[1]))==NULL (3)(sockfd=socket(AF_NET,SOCk_STREAM.0))==-1 (4)sizeof(srvaddr) (5)*((struct in_addr*)he->h_addr) (6)(struct sockaddr*)&srvaddr
解析
转载请注明原文地址:https://kaotiyun.com/show/dCPZ777K
本试题收录于:
网络工程师下午应用技术考试题库软考中级分类
0
网络工程师下午应用技术考试
软考中级
相关试题推荐
某企业现在希望引进一条法国原装生产线,企业将其与2002年引进的美国生产线的性能相比较后,做出了项目费用估算,则该项目经理采用的是(35)。
以下关于网络系统设计原则的描述中,正确的是(25)。
网络安全体系设计可从物理线路安全、网络安全、系统安全和应用安全等方面来进行,其中,数据库容灾属于(18)。
UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。当需要说明体系结构的静态实施视图时,应该选择(13)。
(8)不需要登记或标注版权标记就能得到保护。
(22)反映了信息系统集成项目的技术过程和管理过程的正确顺序。
为了确保系统运行的安全,针对用户管理,下列做法不妥当的是(27)。
在进行网络规划时,要遵循统一的通信协议标准。网络架构和通信协议应该选择广泛使用的国际标准和事实上的工业标准,这属于网络规划的(19)。
MostofthehostoperatingsystemprovidesawayforasystemadministratortomanuallyconfiguretheIPinformationneededbya
某系统集成一级企业年项目合同额近3亿元。采购部门要面临从交换机到固定螺丝及相关服务的大量采购任务,下面的采购措施中,不可取的是____________。
随机试题
男性,47岁,腹胀、纳差半年,6小时前突然呕血约1000ml来急诊,既往HBsAg(+)。查体:示P125次/分,BP70/50mmHg,巩膜轻度黄染,肝、脾肋下未触及,移动性浊音(+),下肢有可凹性水肿。导致呕血的最可能病因是
速发型多器官功能衰竭是指更多系统功能障碍发生在原发急症发病后()
在某市开发区拟建设一座110/10kV变电所,两台主变压器布置在室外,型号为SFZl0—20000/110,设两回110kV电源架空进线。高压配电装置为屋内双层布置:10kV配电室、电容室、维修间、备件库等均匀布置在一层;110kV配电室、控制室布置在二层
下列关于分解爆炸所需能量与压力关系的说法中,正确的是()。
下列做法,违反《会计法》规定的有( )。
2019年4月,审计组对某公司2018年度财务收支进行了审计。在对该公司固定资产业务进行审计时,发现如下情况:1.该公司与设备采购有关的部分内部控制如下:(1)采购部门确定设备需要量,提出设备购置申请书,报送设备管理部门。(2)设备管理部门根据申请书
当月准予抵扣的进项税额为( )万元。当月应纳营业税额为( )万元。
在采用资本资产定价模型估计普通股成本时,对于贝塔值的估计,下列表述正确的有()。
“二龙戏珠”是QSZ92式9mm手枪实弹射击过程中经常发生的故障,这种故障是指手枪射击过程中两发子弹同时卡在弹膛口附近位置,导致枪支不能发射的现象。下图是排除此类故障的分解动作,动作顺序正确的是()。
下列选项中体现辩证否定观的是()。
最新回复
(
0
)