- 【网络编程】使用函数汇总总结
只对您心动
知识点汇总网络udpc语言linux网络编程
记录自己学习,如果对你有帮助,可以一起学习进步,太多要用的函数了,记不住根本记不住,基本上是TCP、UDP之间的通信相关的一些函数目录1、htonl、htons:主机字节序和网络字节序的相互转换函数2、ntohl、ntohs:网络字节序转换成主机字节序3、inet_addr:将点分十进制转换成网络字节序4、inet_ntoa:将网络字节序转换成点分十进制5、socket函数:为通信创建一个端点,并
- linux 发送自定义包裹 c 程序
黄鱼脑干细胞
linuxc语言网络
#include#include#include#include#include#include#include#includeintmain(void){ints;intsd;chariface[256]="wlp1s0";charpacket[26];structsockaddrsa;s=socket(PF_PACKET,SOCK_PACKET,htons(ETH_P_ALL));if(s<0
- Linux C/C++ 原始套接字:打造链路层ping实现
程序猿编码
C/C++linuxc语言c++网络安全套接字ping
在C/C++中,我们可以使用socket函数来创建套接字。我们需要指定地址族为AF_PACKET,协议为htons(ETH_P_ALL)来捕获所有传入和传出的数据包。可以使用sendto和recvfrom函数来发送和接收数据包。我们需要构建一个合法的链路层数据包,在数据包的头部添加目标MAC地址和源MAC地址,并指定以太网类型为htons(ETH_P_IP)。然后,可以在发送前设置IP头部和ICM
- day4 网络编程
kdhbdsj8494
网络
#include#defineSER_PORT69#defineSER_IP"192.168.122.96"intdownload(intcfd,structsockaddr_insin){//向服务器发送下载请求charbuf[512]="";//组装请求数据short*p1=(short*)buf;*p1=htons(1);char*p2=buf+2;strcpy(p2,"1_armcli.c
- 网络编程 day1
fj199121
网络服务器linux
TCP基础模型服务器端#include#defineIP"192.168.125.83"intmain(intargc,constchar*argv[]){//创建套接字intsfd=socket(AF_INET,SOCK_STREAM,0);//绑定IP地址和端口号structsockaddr_insin;sin.sin_family=AF_INET;sin.sin_port=htons(888
- 1.16 day3 IO网络编程
谢必安灬
网络
用udp实现tftp下载功能#include#definePORT69#defineIP"192.168.122.24"intxiazai(intsfd,structsockaddr_insin,intfd,socklen_tsocklen){charbuf[516]="";charack[4];short*p1=(short*)buf;*p1=htons(1);char*p2=buf+2;str
- 23111 网络编程 day3
z2606200330
网络
思维导图tip协作服务程序如下:#include#defineSER_PORT69#defineSER_IP"192.168.125.180"intdo_upload(intcfd,structsockaddr_insin){//向服务器发送上传请求charbuf[512]="";//组装请求数据short*p1=(short*)buf;*p1=htons(1);char*p2=buf+2;str
- 2024.1.17 网络编程 作业
Carl余
网络php开发语言
思维导图练习题广播服务器端#includeintmain(intargc,charconst*argv[]){//创建套接字intsfd=socket(AF_INET,SOCK_DGRAM,0);//填充网络信息结构体structsockaddr_incin;cin.sin_family=AF_INET;cin.sin_port=htons(6789);cin.sin_addr.s_addr=in
- Linux学习之网络编程2(socket,简单C/S模型)
_snowstorm_
#Linux网络编程Linuxlinux学习网络Linux网络编程套接字socket
写在前面Linux网络编程我是看视频学的,Linux网络编程,看完这个视频大概网络编程的基础差不多就掌握了。这个系列是我看这个Linux网络编程视频写的笔记总结。网络字节序小端法:pc本地存储,高位存高地址,低位存低地址。大端法:网络存储,高位存低地址,低位存高地址。由此我们看到本地和网络的存储方式不一样,所以每次建立连接都要转换,下面我来介绍一些关于大端法和小端法的转换函数。htonl:本地——
- 【嵌入式-网络编程】vmware中使用UDP广播失败问题
Japathy
网络udp网络协议
问题描述:自己在vmware中搭建了2台虚拟机,虚拟机A向虚拟机A和虚拟机B发送广播信息,接收端在虚拟机A和虚拟机B,这个时候,由于没配置sin.sin_addr.s_addr=htonl(INADDR_ANY);,而是配置的inet_pton(AF_INET,SERV_IP,&sin.sin_addr.s_addr);,导致虚拟机A的广播信号发出去了,但是虚拟机B和虚拟机A完全收不到UDP广播数
- 12-19
limbojy0721
c语言
#includeintdo_download(intcfd,structsockaddr_insin){charbuf[516]="";charfileName[40]="";printf("请输入文件名:");scanf("%s",fileName);getchar();short*p1=(short*)buf;*p1=htons(1);char*p2=buf+2;strcpy(p2,fileN
- linux网络----UDP编程
m0_74131325
网络linuxudp
一、函数接口:1.socket:创建一个用来网络通信的终端节点;参数:type:套接字类型SOCK_STREAM流式套接字TCPSOCK_DGRAM数据报套接字UDPSOCK_RAM原始套接字domain:协议族AF_INETprotocal:默认为02.sendto:发送数据消息3.inet_addr:将字符串ip地址转换为内存的ip地址的类型;4.htons:将本地字节序(小端存储)转换成网络
- (important)关于socket的一些理解
Dominiczz
Linuxtcp/ip
关于socket的一些理解importantimportant服务端bind表示之前,要初始化一个结构体structsockaddr_inaddr;addr.sin_family=AF_INET;addr.sin_port=htons(9999);//大端addr.sin_addr.s_addr=INADDR_ANY;//0.0.0.0然后再调用bind函数,表示服务端程序,允许任何本地IP地址接
- Linux网络编程
TheITSea
Linux系统以及网络编程linux
网络概述略,因为科班都学过的哈哈哈哈哈。网络编程基础概念地址其中networkbyteorder表示网络字节序。网络字节序大小端转换所以由上图可知,我们的数据从主机到网络中应该要进行从小端到大端的转换,从网络发到另一台主机时应该要进行大端到小端的转换:这就要涉及到一组函数调用了。ntohs:大小端转换注意这里又要加新的头文件嗷。来简单测试一下:1#include23intmain(){45unsi
- ur机械臂30003端口socket通信踩坑(double类型数据怎么解析)
ljc_coder
编程语言踩坑记录c++学习开发语言网络socket通信
坑的由来都知道在网络通信时要把网络字节序转化为主机字节序才行,但是c++里的标准库函数ntohl默认是转换32位字节序的数据,也就是说默认是转换float类型的数据;而ur机械臂30003端口发送的是double类型的数据,没法直接用ntohl进行转换。小贴士float是4字节,32位;double是8字节,64位。在网络传输中,数据通常以字节为单位进行编码,这种编码方式被称为网络字节序,它主要用
- c++ libevent demo
苍天饶过谁?
c++开发语言
Server::Server(constchar*ip,intport){//创建事件集合base=event_base_new();structsockaddr_inserver_addr;memset(&server_addr,0,sizeof(server_addr));server_addr.sin_family=AF_INET;server_addr.sin_port=htons(por
- Linux网络编程(TCP Socket编程实现过程)
咖喱年糕
LINUX网络linuxtcp/ip服务器ubuntuc语言运维
一、TCPSocketServer服务器基本流程框架1.创建服务器套接字Socket2.设置服务器地址结构htons、inet_aton和inet_ntoa3.绑定服务器套接字Bind4.监听传入的连接请求Listen5.接受客户端连接请求Accept6.服务器数据的收发Recv、Send7.关闭套接字Close代码实现服务器二、TCPSocketClient客户端基本流程框架1.创建客户端套接字
- c++绑定多网卡 组播通信
Acnidouwo
C++UDPc++网络
多网卡时,通过绑定网卡IP地址的方式实现绑定网卡解决组播收不到数据的问题server.sin_family=AF_INET;server.sin_port=htons(pszRemotePort);///server的监听端口server.sin_addr.s_addr=inet_addr(pszRemoteIP);///server的地址1server1.sin_family=AF_INET;s
- 遥感流通的是 QUIC 协议报文
liulilittle
C#C/C++蓝桥杯职场和发展
仅感知Initial、HandshakeQUIC部分协议,通常感知两者就知道是否在通过QUIC协议载荷流量,然后该阻断的阻断,该警告的警告。C++inlineByteGetBitValueAt(Byteb,Byteoffset,Bytelength){return(Byte)((b>>offset)&~(0xffl){returnfalse;}UInt32Version=ntohl(((UInt3
- 【Linux】如何在本地主机实现简易的一对一服务器(附图解与代码实现)
_才疏学浅_
Linuxlinux网络服务器学习
想要实现服务端与客户端一对一的信息传输,我们需要先了解一些基础的结构体与相关函数目录相关的基础结构体1.structsockaddr2.structsockaddr_in相关的基础函数1.htons、htonl、ntohs、ntohl2.inet_pton、inet_ntop函数3.socket函数4.bind函数5.listen函数6.connect函数7.accept函数8.send函数9.r
- c实现 udp通信
xiaobbinm
udpc语言网络协议
1.创建对象intudp_socket=socket(AF_INET,SOCK_DGRAM,0);AF_INET网络通信协议SOCK_DGRAM传输协议属性默认02.想接收信息就需要绑定地址信息structsockaddr_inserver_addr;server_addr.sin_family=AF_INET;server_addr.sin_port=htons(端口);//自选server_a
- iOS推送获取token
晴朗Nic
if(![deviceTokenisKindOfClass:[NSDataclass]])return;constunsigned*tokenBytes=(constunsigned*)[deviceTokenbytes];NSString*hexToken=[NSStringstringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",ntohl(to
- ipv6从inet_pton得到网络序
戴宏鹏
structsockaddr_in6sa;charstr[INET6_ADDRSTRLEN];unsignedlongnbuf[sizeof(structin6_addr)];inti=inet_pton(AF_INET6,buf,(void*)&sa.sin6_addr);if(i>0){printf("0x%x%x%x%x\n",htonl(sa.sin6_addr.s6_addr32[0])
- Python Socket模块中的IP转换函数
是归人不是过客
PythonSocket模块中包含一些有用IP转换函数,说明如下:socket.ntohl(x)//类似于C语言的ntohl(x)把32位正整数从网络序转换成主机字节序。socket.ntohs(x)//类似于C语言的ntohs(x)把16位正整数从网络序转换成主机字节序。socket.htonl(x)//类似于C语言的htonl(x)把32位正整数从主机字节序转换成网络序。socket.hton
- PF_PACKET
as3522
PF_PACKET瞅代码的时候,看到一个很奇特的socket,sock=socket(PF_PACKET,SOCK_RAW,htons(0x8888))那什么是PF_PACKET?我在网上翻了一下,找到了一片不错的文章,详细sock_raw(注意一定要在root下使用)原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对于监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket
- 【Linux网络编程】
Eiker_3169
Linux网络编程udptcp网络协议网络
文章目录一.Linux的网络模型1.网络模型概述2.Linux网络协议栈包含的网络协议3.Linux网络编程模型4.socket套接字编程模型二.UDP编程1编程准备-字节序、地址转换1.1字节序概述1.2htonl函数1.3htons函数1.4ntohl函数1.5ntohs函数1.6地址转换函数inet_pton、inet_ntop1.6.1inet_pton函数1.6.2inet_ntop函数
- Linux 网络编程
考勤卡啦啦
linux网络运维
套接字(Socket):通过网络实现跨机通信作用:一种文件描述符传输层的文件描述符整个编程中,需要着重注意htonl/htons、ntohl/ntohs、inet_addr等TCP的C/S实现循环服务器模型TCP服务器实现过程1.创建套接字:初始化结构体structsockaddr_in2.给套接字绑定ip地址和端口号:bind函数#include3.将套接字文件描述符,从主动变为被动文件描述符(
- hw0921
码不了一点
服务器
多线程发送方#includeintmain(intargc,constchar*argv[]){//创建流式套接字intcfd=socket(AF_INET,SOCK_STREAM,0);printf("socketsuccess\n");//填充服务器地址structsockaddr_insin;sin.sin_family=AF_INET;sin.sin_port=htons(4444);si
- 【InfiniBand】IBV_WR_RDMA_WRITE_WITH_IMM / IBV_WC_RECV_RDMA_WITH_IMM
一尘之中
网络C语言编程c语言linux网络
IB卡带立即数的写操作IBV_WR_RDMA_WRITE_WITH_IMM,对应的远端(remote)接收操作是IBV_WC_RECV_RDMA_WITH_IMM。例:本端(local)写发送:wr.opcode=IBV_WR_RDMA_WRITE_WITH_IMM;wr.send_flags=IBV_SEND_SIGNALED;wr.imm_data=htonl(len);...ibv_post
- LinuxFTP云盘-文件服务系统
m0_74712453
linux服务器运维
目录1.项目介绍2.项目运行展示3.实现思路服务端:客户端:4.相关调用函数socket():创建一个网络通信端点原型:intsocket(intdomain,inttype,intprotocol);atoi():将字符串转变成整型数据原型:intatoi(constchar*nptr);htons():将16位无符号数从主机字节序转换成网络字节序原型:uint16_thtons(uint16_
- ViewController添加button按钮解析。(翻译)
张亚雄
c
<div class="it610-blog-content-contain" style="font-size: 14px"></div>// ViewController.m
// Reservation software
//
// Created by 张亚雄 on 15/6/2.
- mongoDB 简单的增删改查
开窍的石头
mongodb
在上一篇文章中我们已经讲了mongodb怎么安装和数据库/表的创建。在这里我们讲mongoDB的数据库操作
在mongo中对于不存在的表当你用db.表名 他会自动统计
下边用到的user是表明,db代表的是数据库
添加(insert):
- log4j配置
0624chenhong
log4j
1) 新建java项目
2) 导入jar包,项目右击,properties—java build path—libraries—Add External jar,加入log4j.jar包。
3) 新建一个类com.hand.Log4jTest
package com.hand;
import org.apache.log4j.Logger;
public class
- 多点触摸(图片缩放为例)
不懂事的小屁孩
多点触摸
多点触摸的事件跟单点是大同小异的,上个图片缩放的代码,供大家参考一下
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener
- 有关浏览器窗口宽度高度几个值的解析
换个号韩国红果果
JavaScripthtml
1 元素的 offsetWidth 包括border padding content 整体的宽度。
clientWidth 只包括内容区 padding 不包括border。
clientLeft = offsetWidth -clientWidth 即这个元素border的值
offsetLeft 若无已定位的包裹元素
- 数据库产品巡礼:IBM DB2概览
蓝儿唯美
db2
IBM DB2是一个支持了NoSQL功能的关系数据库管理系统,其包含了对XML,图像存储和Java脚本对象表示(JSON)的支持。DB2可被各种类型的企 业使用,它提供了一个数据平台,同时支持事务和分析操作,通过提供持续的数据流来保持事务工作流和分析操作的高效性。 DB2支持的操作系统
DB2可应用于以下三个主要的平台:
工作站,DB2可在Linus、Unix、Windo
- java笔记5
a-john
java
控制执行流程:
1,true和false
利用条件表达式的真或假来决定执行路径。例:(a==b)。它利用条件操作符“==”来判断a值是否等于b值,返回true或false。java不允许我们将一个数字作为布尔值使用,虽然这在C和C++里是允许的。如果想在布尔测试中使用一个非布尔值,那么首先必须用一个条件表达式将其转化成布尔值,例如if(a!=0)。
2,if-els
- Web开发常用手册汇总
aijuans
PHP
一门技术,如果没有好的参考手册指导,很难普及大众。这其实就是为什么很多技术,非常好,却得不到普遍运用的原因。
正如我们学习一门技术,过程大概是这个样子:
①我们日常工作中,遇到了问题,困难。寻找解决方案,即寻找新的技术;
②为什么要学习这门技术?这门技术是不是很好的解决了我们遇到的难题,困惑。这个问题,非常重要,我们不是为了学习技术而学习技术,而是为了更好的处理我们遇到的问题,才需要学习新的
- 今天帮助人解决的一个sql问题
asialee
sql
今天有个人问了一个问题,如下:
type AD value
A  
- 意图对象传递数据
百合不是茶
android意图IntentBundle对象数据的传递
学习意图将数据传递给目标活动; 初学者需要好好研究的
1,将下面的代码添加到main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:/
- oracle查询锁表解锁语句
bijian1013
oracleobjectsessionkill
一.查询锁定的表
如下语句,都可以查询锁定的表
语句一:
select a.sid,
a.serial#,
p.spid,
c.object_name,
b.session_id,
b.oracle_username,
b.os_user_name
from v$process p, v$s
- mac osx 10.10 下安装 mysql 5.6 二进制文件[tar.gz]
征客丶
mysqlosx
场景:在 mac osx 10.10 下安装 mysql 5.6 的二进制文件。
环境:mac osx 10.10、mysql 5.6 的二进制文件
步骤:[所有目录请从根“/”目录开始取,以免层级弄错导致找不到目录]
1、下载 mysql 5.6 的二进制文件,下载目录下面称之为 mysql5.6SourceDir;
下载地址:http://dev.mysql.com/downl
- 分布式系统与框架
bit1129
分布式
RPC框架 Dubbo
什么是Dubbo
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含: 远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 集群容错: 提供基于接
- 那些令人蛋痛的专业术语
白糖_
springWebSSOIOC
spring
【控制反转(IOC)/依赖注入(DI)】:
由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。
简单的说:对象的创建又容器(比如spring容器)来执行,程序里不直接new对象。
Web
【单点登录(SSO)】:SSO的定义是在多个应用系统中,用户
- 《给大忙人看的java8》摘抄
braveCS
java8
函数式接口:只包含一个抽象方法的接口
lambda表达式:是一段可以传递的代码
你最好将一个lambda表达式想象成一个函数,而不是一个对象,并记住它可以被转换为一个函数式接口。
事实上,函数式接口的转换是你在Java中使用lambda表达式能做的唯一一件事。
方法引用:又是要传递给其他代码的操作已经有实现的方法了,这时可以使
- 编程之美-计算字符串的相似度
bylijinnan
java算法编程之美
public class StringDistance {
/**
* 编程之美 计算字符串的相似度
* 我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:
* 1.修改一个字符(如把“a”替换为“b”);
* 2.增加一个字符(如把“abdd”变为“aebdd”);
* 3.删除一个字符(如把“travelling”变为“trav
- 上传、下载压缩图片
chengxuyuancsdn
下载
/**
*
* @param uploadImage --本地路径(tomacat路径)
* @param serverDir --服务器路径
* @param imageType --文件或图片类型
* 此方法可以上传文件或图片.txt,.jpg,.gif等
*/
public void upload(String uploadImage,Str
- bellman-ford(贝尔曼-福特)算法
comsci
算法F#
Bellman-Ford算法(根据发明者 Richard Bellman 和 Lester Ford 命名)是求解单源最短路径问题的一种算法。单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。有时候这种算法也被称为 Moore-Bellman-Ford 算法,因为 Edward F. Moore zu 也为这个算法的发展做出了贡献。
与迪科
- oracle ASM中ASM_POWER_LIMIT参数
daizj
ASMoracleASM_POWER_LIMIT磁盘平衡
ASM_POWER_LIMIT
该初始化参数用于指定ASM例程平衡磁盘所用的最大权值,其数值范围为0~11,默认值为1。该初始化参数是动态参数,可以使用ALTER SESSION或ALTER SYSTEM命令进行修改。示例如下:
SQL>ALTER SESSION SET Asm_power_limit=2;
- 高级排序:快速排序
dieslrae
快速排序
public void quickSort(int[] array){
this.quickSort(array, 0, array.length - 1);
}
public void quickSort(int[] array,int left,int right){
if(right - left <= 0
- C语言学习六指针_何谓变量的地址 一个指针变量到底占几个字节
dcj3sjt126com
C语言
# include <stdio.h>
int main(void)
{
/*
1、一个变量的地址只用第一个字节表示
2、虽然他只使用了第一个字节表示,但是他本身指针变量类型就可以确定出他指向的指针变量占几个字节了
3、他都只存了第一个字节地址,为什么只需要存一个字节的地址,却占了4个字节,虽然只有一个字节,
但是这些字节比较多,所以编号就比较大,
- phpize使用方法
dcj3sjt126com
PHP
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,下面介绍一个它的使用方法,需要的朋友可以参考下
安装(fastcgi模式)的时候,常常有这样一句命令:
代码如下:
/usr/local/webserver/php/bin/phpize
一、phpize是干嘛的?
phpize是什么?
phpize是用来扩展php扩展模块的,通过phpi
- Java虚拟机学习 - 对象引用强度
shuizhaosi888
JAVA虚拟机
本文原文链接:http://blog.csdn.net/java2000_wl/article/details/8090276 转载请注明出处!
无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。
引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Wea
- .NET Framework 3.5 Service Pack 1(完整软件包)下载地址
happyqing
.net下载framework
Microsoft .NET Framework 3.5 Service Pack 1(完整软件包)
http://www.microsoft.com/zh-cn/download/details.aspx?id=25150
Microsoft .NET Framework 3.5 Service Pack 1 是一个累积更新,包含很多基于 .NET Framewo
- JAVA定时器的使用
jingjing0907
javatimer线程定时器
1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。
对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。
privatejava.util.Timer timer;
timer = newTimer(true);
timer.schedule(
newjava.util.TimerTask() { public void run()
- Webbench
流浪鱼
webbench
首页下载地址 http://home.tiscali.cz/~cz210552/webbench.html
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。
Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相
- 第11章 动画效果(中)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- windows下制作bat启动脚本.
sanyecao2314
javacmd脚本bat
java -classpath C:\dwjj\commons-dbcp.jar;C:\dwjj\commons-pool.jar;C:\dwjj\log4j-1.2.16.jar;C:\dwjj\poi-3.9-20121203.jar;C:\dwjj\sqljdbc4.jar;C:\dwjj\voucherimp.jar com.citsamex.core.startup.MainStart
- Java进行RSA加解密的例子
tomcat_oracle
java
加密是保证数据安全的手段之一。加密是将纯文本数据转换为难以理解的密文;解密是将密文转换回纯文本。 数据的加解密属于密码学的范畴。通常,加密和解密都需要使用一些秘密信息,这些秘密信息叫做密钥,将纯文本转为密文或者转回的时候都要用到这些密钥。 对称加密指的是发送者和接收者共用同一个密钥的加解密方法。 非对称加密(又称公钥加密)指的是需要一个私有密钥一个公开密钥,两个不同的密钥的
- Android_ViewStub
阿尔萨斯
ViewStub
public final class ViewStub extends View
java.lang.Object
android.view.View
android.view.ViewStub
类摘要: ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当 ViewSt