题目内容 (请给出正确答案)
[主观题]

在套接字编程中,代码“clientSocket=socket(AF_INET,SOCK_STERAM)”作用是()

A.创建一个TCP套接字

B.获取客户端输入信息

C.通过门发送信息

D.创建一个UDP套接字

提问人:网友xia2020 发布时间:2022-01-07
参考答案
查看官方参考答案
如搜索结果不匹配,请 联系老师 获取答案
更多“在套接字编程中,代码“clientSocket=socket…”相关的问题
第1题
在编制通信应用程序时,我们通常使用Socket套接字。这里假设要使用Socket编制一个基于TCP的C/S方式的通信程序。

(1)请给出编制服务器端软件(不要求客户端软件)时要用到的主要的Socket函数,并简要的解释每个函数的大致作用。可以先使用画图的方式以自上到下的顺序给出使用的主要函数,然后用文字简要地说明每个函数功能。

(2)假设客户端的IP为192.168.0.1,客户端生成的端口号为1565,服务器端的IP为192.168.0.10,使用的端口号是88,请写出标志客户端和服务器端的一个基于TCP连接的全相关的五元组。

点击查看答案
第2题
套接字API中connect的作用是?()
A、打开套接字

B、连接目的地址

C、连接源地址

D、发送数据

点击查看答案
第3题
以下哪个方法是获得HttpURLConnection对象连接状态?()

A、getStatusCode

B、getResponseCode

C、getStatusLine

D、getStatus

点击查看答案
第4题
套接字API中listen(socket,qlength)的参数qlength的含义是:()。
A、接收缓冲区长度

B、每次读取数据的长度

C、允许请求排队的数量

D、发送缓冲区长度

点击查看答案
第5题
使用socket()函数创建用户数据报套接字时:

A、第2个参数为SOCK_DGRAM

B、第2个参数为SOCK_STREAM

C、第2个参数为SOCK_TCP

D、第2个参数为SOCK_UDP

点击查看答案
第6题
请阅读以下说明和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);

//打印数据并关闭套接字

点击查看答案
第7题
下面与socket相关的系统调用,哪个会导致当前进程进入阻塞状态?

A、listen

B、connect

C、accept

D、bind

点击查看答案
第8题
一般情况下,服务器端socket编程时需要以下步骤: a) 创建套接字对象; b) 将套接字设置为监听模式等待连接请求; c) 用返回的套接字和客户端进行通信,包括接收和发送消息; d) 绑定套接字到一个IP地址和一个端口上; e) 关闭套接字; f) 等待另一个连接请求; g) 请求到来后,接受连接请求,返回对应于此次连接的套接字对象; 正确的顺序应该是()。

A、a b c d e f g

B、a b c d f g e

C、a d b g c f e

D、a d c f b g e

点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
简答题
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
简答题
点击打开微信