首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个面向连接的SOCKET实例,填入(n)处。 【说明】 代码实例中的服务器通过socket连接向客户端发送字符串"Hello,you are connected!"。只要在服务器上运行该服务器软件,在客户端运行客户软件,客户端就会收到该
下面是一个面向连接的SOCKET实例,填入(n)处。 【说明】 代码实例中的服务器通过socket连接向客户端发送字符串"Hello,you are connected!"。只要在服务器上运行该服务器软件,在客户端运行客户软件,客户端就会收到该
admin
2009-05-15
85
问题
下面是一个面向连接的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
网络工程师上午基础知识考试
软考中级
相关试题推荐
V模型是一种典型的信息系统项目的生命周期模型,它标明了测试阶段与开发过程各阶段的对应关系,其中_______的主要目的是针对详细设计中可能存在的问题,尤其是检查各单元之间接口上可能存在的问题。
在质量控制过程中,经常会使用一些工具和方法。______(1)是一种基于80/20原理,用于找出影响项目产品或服务质量的主要因素的方法。_______(2)不属于质量控制活动。(1)
下列关于冲突及其解决方式的描述中,不正确的是______。
(2011年下半年)以下各项中,不能作为项目成本预算工具或技术的是(45)。
沟通是项目管理和团队建设中的重要环节。下面关于沟通的说法中。()是正确的。
(2009年下半年)下列选项中,不属于项目建议书核心内容的是(32)。
以下关于数据仓库与数据库的叙述中,______是正确的。
某公司有一台Linux文件服务器,多台Windows客户端和Linux客户端。要求任意一个客户端都可以共享服务器上的文件,并且能够直接存取服务器上的文件。客户端和服务器间应该使用______协议。
(2009年上半年)工作流技术在流程管理应用中的三个阶段分别是(70)。
随机试题
对于胞内寄生虫的免疫逃逸机制,下列哪一项错误
采用分页式存储管理时,相对地址由两部分组成:( )和( )。
某混凝土试验室配合比为水泥:水:砂:碎石=340:190:608:1215,实测施工现场砂的含水率为3%,碎石的含水率为1%,若工地搅拌机容量为0.4m3(出料),为施工方便,每次投入2袋水泥(50kg/袋),问其他各材料的投入量为多少?
在分部分项工程量清单编制时,下列项目特征中可不描述的有()。
甲企业的有关情况如下:(1)2013年1月,甲企业为支付A企业的货款,向A企业签发一张100万元的转账支票。出票日期为1月10日,付款人为乙银行。持票人A企业于1月18日到乙银行提示付款时,乙银行以出票人甲企业的存款账户资金不足100万元为由拒绝
FormaccountissuedA.usuallymadeinthe(56)______ofacheckB.Aterminationnoticeshouldbe(57)______bythepersonneldepar
•ReadthetextbelowaboutjobprospectsattheIBCBank.•ChoosethecorrectwordA,B,CorDfrombelowthepassagetofille
Whichofthefollowingcontainsacomplement?
Whatisthenewsitemmainlyabout?
A、Iusuallygofishing.B、Iamateacher.C、IcomefromAmerica.D、Yes,Ido.A应该具体回答所做的事情,故选A。
最新回复
(
0
)