首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请阅读以下说明和Socfort程序,将应填(n)处的字句写在对应栏内。 网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。 以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:客
请阅读以下说明和Socfort程序,将应填(n)处的字句写在对应栏内。 网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。 以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:客
admin
2010-01-17
45
问题
请阅读以下说明和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
网络工程师下午应用技术考试
软考中级
相关试题推荐
(66)是指对拟实施项目技术上的先进性、适用性,经济上的合理性、盈利性,以及实施上的可能性和风险可控性进行全面科学的综合分析,为项目决策提供客观依据的一种技术经济研究活动。
公式:EAC=实际支出+对未来剩余工作的重新估算,适用于(34)情况。
以下不属于面向对象中间件技术的是(14)。
下列关于恶意代码的描述中,错误的是(3)。
在系统集成项目中,采取相应的措施保护计算机网络设备免受环境事故的影响,属于ISO/IEC27000系列标准中信息安全管理的(2)范畴。
下列选项中,不属于项目建议书核心内容的是(32)。
某开发项目配置管理计划中定义了三条基线,分别是需求基线、设计基线和产品基线,______应该是需求基线、设计基线和产品基线均包含的内容。
有四家系统集成企业计划于2010年5月申请计算机信息系统集成资质,其中:甲公司计划申请一级资质,注册资本3000万元,具有项目经理20名,高级项目经理8名,2010年1月通过ISO9001质量管理体系认证;乙公司计划申请一级资质,注册资本2
工作流(workflow)需要依靠______来实现,其主要功能是定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。
程序员小张在某项目中编写了源代码文件X的0.1版(以下简称Xv0.1)。随后的开发中小张又修改了Xv0.1,得到文件X的1.0版(以下简称Xv1.0)。经过正式评审后,Xv1.0被纳入基线进行配置管理。下列后续活动中符合配置管理要求的是______。
随机试题
下列被称为意大利“新现实主义电影”代表作品的是()
患者,女性,32岁,有心脏病病史6年。最近感心悸。体检:心率100次/分,律不齐,第一心音强弱不等,心尖部可闻及舒张期隆隆样杂音。为明确诊断,首选的检查项目是
矩阵型监理组织形式的优点是加强了职能部门的横向联系,有较大的()。
关于计日工,每个支付期末,承包人应按照规范中进度款的相关条款规定向发包人提交本期间所有计日工记录的()。
肖女士向社会工作者反映她12岁的儿子小明到处闯祸、无法管教,她认为儿子是受了朋友的不良影响,禁止儿子再与他们交往,并向社会工作者求助。社会工作者适宜的做法是()。
凡是在中华人民共和国境内的适龄儿童、少年,不分性别、民族、种族、家庭财产状况、宗教信仰等,依法享有平等接受义务教育的权利,并履行接受义务教育的义务。()
根据下列资料,回答2017年1-5月,B市实现社会消费品零售总额4283.6亿元,同比增长5.1%,增速较1-4月回落0.2个百分点。从商品用途看,吃、穿、用和烧类商品分别实现零售额980.3亿元、312.3亿元、2785.3亿元和205.9亿元,同比
累次积分可以写成
若定义DATDW’A’,则(DAT)和(DAT+1)两个相邻的地址单元中存放的数据是( )。
Mrs.Trumpdescribesherselfasalightsmokerintermsof
最新回复
(
0
)