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

基于TCP协议的网络编程主要使用服务器套接字类()

提问人:网友lingmu 发布时间:2022-01-07
参考答案
ServerSocket,Socket
如搜索结果不匹配,请 联系老师 获取答案
更多“基于TCP协议的网络编程主要使用服务器套接字类()”相关的问题
第1题
请阅读以下说明和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);

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

点击查看答案
第2题
在Windows98环境中,必须为新购置的打印机安装(),然后才能使用。

A. 序列号

B. 驱动程序

C. 保护卡

D. 文件夹

点击查看答案
第3题
程序下载到PLC可以通过哪些

A、电脑

B、编程器

C、手机

D、平板

点击查看答案
第4题
The council is expected to ____ the new policy at its next meeting.
A.adept

B.adopt

C.attempt

D.adapt

点击查看答案
第5题
活化Th2细胞表面对B细胞活化第二信号产生具有主要作用的分子是:
A.CD28

B.CD40L

C.CD4

D.CD8

E.ICAM-1

点击查看答案
第6题
W模型由两个V模型组成,分别代表____和____
点击查看答案
第7题
按斜坡道的运输线路,斜坡道开拓法分为:_____、_____和_____
点击查看答案
第8题
按钮开关是指利用按钮推动传动机构,使______触点与______触点按通或断开并实现电路换接的开关。按钮开关是一种结构简单,应用十分广泛的主令电器。在电气自动控制电路中,用于手动发出控制信号以控制接触器、继电器、电磁起动器等
点击查看答案
第9题
摩擦离合器按压紧弹簧的结构形式可分为 离合器 和 离合器 两种
点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

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

简答题官方微信公众号

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

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

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