首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个面向连接的SOCKET实例,填入(n)处。 【说明】 代码实例中的服务器通过socket连接向客户端发送字符串"Hello,you are connected!"。只要在服务器上运行该服务器软件,在客户端运行客户软件,客户端就会收到该
下面是一个面向连接的SOCKET实例,填入(n)处。 【说明】 代码实例中的服务器通过socket连接向客户端发送字符串"Hello,you are connected!"。只要在服务器上运行该服务器软件,在客户端运行客户软件,客户端就会收到该
admin
2009-05-15
84
问题
下面是一个面向连接的SOCKET实例,填入(n)处。
【说明】
代码实例中的服务器通过socket连接向客户端发送字符串"Hello,you are connected!"。只要在服务器上运行该服务器软件,在客户端运行客户软件,客户端就会收到该字符串。
客户端程序代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<string.h>
#include<netdb.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/socket.h>
#define SERVPORT 3333
#define MAXDATASIZE 100 /*每次最大数据传输量*/
main(int argc, char*argv[]){
int sockfd, recvbytes;
char buf[MAXDATASIZE];
stmct hostent*host;
struct sockaddr_in serv_addr;
if (1) {
fprintf(stderr, "Please enter the server’s hostname!\n");
exit(1);
}
if<(host=gethostbyname(argv[1]))=NULL) {
herror("gethostbyname出错!");
exit(1);
}
if ((sockfd = socket(AF_INET, (2), 0))=-1) {
perror("socket创建出错!");
exit(1);
}
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(SERVPORT);
Serv_addr.sin_addr=*((structin_addr*)host→h_addr);
bzero(&(serv_addr.sin_zero), 8);
if(connect (3), (struct sockaddr *)&serv_addr, \
sizeof(struct sockaddr))=-1) {
perror("connect出错!");
exit(1);
}
if((recvbytes=recv (4), buf, MAXDATASIZE, 0))=-1) {
perror("recv出错!");
exit(1);
}
buf[recvbytes]=’\0’;
pfintf("Received: %s", buf);
close(sockfd);
}
选项
答案
(1)argc<2 //判断参数个数是否为2;即判断是否输入主机名。 (2)SOCK_STREAM //说明是面向连接的通信 (3)Sockfd //制定SOCKET号 (4)Sockfd //制定SOCKET号 客户端程序首先通过服务器域名获得服务器的IP地址,然后创建一个socket,调用connect函数与服务器建立连接,连接成功之后接收从服务器发送过来的数据,最后关闭socket。函数gethost-byname( )是完成域名转换的。由于IP地址难以记忆和读写,所以为了方便,人们常常用域名来表示主机,这就需要进行域名和IP地址的转换。无连接的客户/服务器程序的在原理上和连接的客户/服务器是一样的,两者的区别在于无连接的客户/服务器中的客户一般不需要建立连接,而且在发送接收数据时,需要指定远端机的地址。
解析
转载请注明原文地址:https://kaotiyun.com/show/O2JZ777K
本试题收录于:
网络工程师上午基础知识考试题库软考中级分类
0
网络工程师上午基础知识考试
软考中级
相关试题推荐
(2013年上半年)一个公司的新员工被分配到一个正处在计划编制阶段的项目中工作,她必须决定是否接受分配到这个项目或者要求被分配到另一个不同的项目。但是项目经理没有上班并且也联系不上。项目团队成员可以查看(56)以帮助她确认分配的工作。
_______可作为软件生存期中各开发阶段的一个质量检查点。
签订信息系统工程项目合同时有许多注意事项。下列选项中,(53)在合同签订时不用考虑。
M公司委托T公司开发一套新的管理信息系统,T公司未能按合同规定的日期交付最终产品,给M公司造成巨大的运营损失,因此M公司向T公司提出索赔,其中不包括______。
以下关于入侵检测设备的叙述中,_______是不正确的。
(2013年上半年)E-mail客户端程序要找到邮件服务器,FTP客户端程序要找到FTP服务器,Web浏览器要找到Web服务器,通常要用到(19)。
网络协议和设备驱动软件经常采用分层架构模式,其主要原因是()。
()是在确认范围过程中使用的工具与技术。
以下关于数据仓库与数据库的叙述中,______是正确的。
在下列传输介质中,_____________的传输速率最高。
随机试题
良好的曲轴箱通风装置在发动机正常工作时,曲轴箱内应()。
目前,用于全身治疗作用的栓剂主要是
投资价值与市场价值的评估方法可能相同,但其中参数选取的立场可能不同。如都可以采用收益法———价值是未来净收益的现值之和,但在评估市场价值时,收益法中的折现率是与该房地产的风险程度相对应的社会一般的收益率,而在评估投资价值时,该折现率是投资者所要求的最低收益
下列地理空间信息中,导航电子地图制作过程可以采集的内容是()。
一般认为,城镇的()可以用来测量城镇的中心性,因为城镇大多是多功能的,也是一个城镇在区域中的地位的综合反映。
下列不属于简支梁桥施工中常见质量控制点的是()。
空间里两两距离相等的不同点最多有().
2012年12月,甲公司与钱某、于某合伙组建乙合伙企业,甲公司出资400万元,钱某和于某以劳务出资,甲公司不负责乙合伙企业的经营,仅以出资额为限承担合伙责任。钱某和于某负责乙合伙企业的经营,并用自己的全部财产对公司债务负责,钱某为执行合伙人。2013年4
将考生文件夹下JIN文件夹中的SUN.C文件复制到考生文件夹下的MQPA文件夹中。
Youwillhearfivedifferentpeopletalkingaboutajob-huntinglecturetheyhavejustattended.Foreachextractthereare
最新回复
(
0
)