皮皮学,免费搜题
登录
搜题
【简答题】
请阅读以下说明和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); //打印数据并关闭套接字
拍照语音搜题,微信中搜索"皮皮学"使用
参考答案:
参考解析:
知识点:
.
..
皮皮学刷刷变学霸
举一反三
【单选题】为了能够正确测量故障点到保护安装处的距离,反应相间短路的阻抗继电器采用( )接线。
A.
引入零序电流补偿接线
B.
0 ° 接线
C.
90 ° 接线
D.
30 ° 接线
【简答题】阅读理解:阅读下面的短文,根据文章内容进行判断,正确为“T”,错误为“F”。 An ebook (also referred to as an electronic book, eBook, or e-book) is a digital version (版本)of a print book that you download and read. But if you want to read ...
【简答题】An ebook(also referred to as an electronic book,eBook,or e-book)is a digital version(版本)of a print book that you download and read. But if you want to read an ebook, you must have an Ebook Reader, whi...
【判断题】为使接地距离保护的测量阻抗能正确反映故障点到保护安装处的距离应引入补偿系数K=(Zo-Z)/3Zo 。( )
A.
正确
B.
错误
【单选题】在连挂作业中,当推送车列与被挂车辆的距离不足3车时,呼叫实际距离、显示( )信号。
A.
1车
B.
2车
C.
3车
D.
连结
【多选题】急性白血病病人死亡的主要原因是
A.
化疗药物的不良反应
B.
严重贫血
C.
酸碱平衡失调
D.
继发感染
E.
内脏出血
【单选题】在船舶综合导航中,以下( )不是基本导航信息。
A.
GPS船位
B.
陀螺罗经艏向
C.
计程仪航速
D.
电子海图的水深信息
【单选题】急性白血病病人死亡的主要原因是
A.
皮肤出血
B.
严重贫血
C.
继发感染
D.
酸碱平衡失调
E.
化疗药物的毒副作用
【判断题】为使接地距离保护的测量阻抗能正确反映故障点到保护安装处的距离应引入补偿系数K=(Zo-Z1)/3Zo 。( )
A.
正确
B.
错误
【判断题】利用故障环路上的电压和环路中流通的电流作为测量电压和测量电流所算出的测量阻抗,能够正确反应保护安装处到故障点的距离。
A.
正确
B.
错误
相关题目: