uint32_t htonl(uint32_t hostlong);uint16_t htons(uint16_t hostshort);uint32_t ntohl(uint32_t netlong);uint16_t ntohs(uint16_t netshort);h表示host,n表示network,l表示32位,s表示16位。htonl:本地->网络(滨笔)丑迟辞苍蝉:本地->网络(辫辞谤迟)苍迟辞丑濒:网络->本地(滨笔)苍迟辞丑蝉:网络->本地(辫辞谤迟)滨笔地址转换函数颈苍别迟冲辫迟辞苍:点分十进制字符串转换为网络字节序颈苍别迟冲苍迟辞辫:网络字节序转换为点分十进制字符串这两个函数都支持滨笔惫4和滨笔惫6.#颈苍肠濒耻诲别 int inet_pton(int af, const char *src, void *dst);af:表示地址类型,只有两个选择,AF_INET表示IPv4,AF_INET6表示IPv6src:要转换的IP(点分十进制字符串)det:转换后的网络字节序的IP地址返回值:成功:1异常:0,表示scr指向的不是一个有效的IP地址失败:-1#include const char *inet_ntop(int af, const void *src,char *dst, socklen_t size)af:AF_INET、AF_INET6scr:网络字节序的IP地址dst:本地字节序(string IP)size:dst的大小返回值:成功:dst失败:NULL;https://blog.csdn.net/bian_qing_quan11/article/details/71699371inet_ntoa:网络字节序转换为点分十进制IPchar *inet_ntoa(struct in_addr in);inet_aton:点分十进制IP转换为网络字节序存放在addr中,成功返回1,失败返回0。inet_aton() returns 1 if the supplied string was successfully interpreted, or 0 if the string is invalid (errno is not set onerror).int inet_aton(const char *cp, struct in_addr *inp);inet_network:将点分十进制IP转化为主机字节序(二进制位小端存储)in_addr_t inet_network(const char *cp);inet_addr:将点分十进制IP转化为网络字节序(二进制位的大端存储)。in_addr_t inet_addr(const char *cp);#include #include int main(int argc, char const *argv[]){ struct in_addr in; printf("点分十进制ip地址:192.168.1.1\n"); printf("主机字节序:%u\n",inet_network("192.168.1.1")); inet_aton("192.168.1.1",&in); printf("网络字节序:%u\n",in.s_addr); in.s_addr = htonl(inet_network("192.168.1.1")); printf("点分十进制ip地址:%s\n",inet_ntoa(in)); return 0;}192.168.1.1转换成二进制为11000000 10101000 00000001 00000001,转换为十进制为3,232,235,777?,大端存储为00000001 00000001 10101000 11000000,即16,885,952?。sockaddr数据结构早期的socket数据结构,sockaddr数据结构其实已经不用了,但因为Linux当中很多函数以前用的这个数据结构,不好对这些函数进行更改,就保留了sockaddr数据结构,它就扮演着void *差不多的角色,用作地址转换中介。例如bind的函数当中参数类型还是sockaddr*类型,使用时需要进行地址类型转换。int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);sturct sockaddr_in addr; man 7 ip查看sockaddr_in结构体信息。addr.sin_family=AF_INT; (sin,socket internet??)addr.sin_port=htons(9527);//int dst;//inet_pton(AR_INET,"11.11.11.11",(void*)&dst);//add.sin_addr.s_addr=dst;addr.sin_addr.s_addr=htonl(INADDR_ANY);取出系统中有效的任意IP地址,二进制类型。INADDR_ANY是一个宏。bind(fd,(struct sockaddr*)&addr,size);struct sockaddr_in:这个in表示internet,不是进入哈哈(我前两天一直以为是输入,很懵逼)man 7 ip查看sockaddr_in数据结构struct sockaddr_in { sa_family_t sin_family; /* address family: AF_INET */ in_port_t sin_port; /* port in network byte order */ struct in_addr sin_addr; /* internet address */ };/* Internet address. */struct in_addr { uint32_t s_addr; /* address in network byte order */};sockaddr_un是本地进程通信的数据结构。socket模型创建流程socket():创建一个套接字,返回一个文件描述符fd,也叫句柄。bind():绑定IP+端口listen():设置监听上线,表示同时能连接的客户端数量accept():阻塞监听客户端连接connet(),绑定IP和端口socket函数socket()#include int socket(int domain, int type, int protocol);domain:通信协议,AF_INET、AF_INET6、AF_UNIX、AF_NETLINK等type:数据传输方式,有SOCK_STREAM、SOCK_DGRAM、SOCK_RAW等protocol:对应协议,当protocol为0时,会自动选择type类型对应的默认协议正如大家所想,一般情况下有了 af 和 type 两个参数就可以创建套接字了,操作系统会自动推演出协议类型,除非遇到这样的情况:有两种不同的协议支持同一种地址类型和数据传输类型。如果我们不指明使用哪种协议,操作系统是没办法自动推演的。使用 IPv4 地址,参数 af 的值为 PF_INET。如果使用 SOCK_STREAM 传输数据,那么满足这两个条件的协议只有 TCP,因此可以这样来调用 socket() 函数:int tcp_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //IPPROTO_TCP表示TCP协议返回值:成功返回文件描述符,错误返回-1。/usr/include/x86_64-linux-gnu/bits/socket.h/* Protocol families. */#define PF_UNSPEC 0 /* Unspecified. */#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */#define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */#define PF_INET 2 /* IP protocol family. */#define PF_AX25 3 /* Amateur Radio AX.25. */#define PF_IPX 4 /* Novell Internet Protocol. */#define PF_APPLETALK 5 /* Appletalk DDP. */#define PF_NETROM 6 /* Amateur radio NetROM. */#define PF_BRIDGE 7 /* Multiprotocol bridge. */#define PF_ATMPVC 8 /* ATM PVCs. */#define PF_X25 9 /* Reserved for X.25 project. */#define PF_INET6 10 /* IP version 6. */#define PF_ROSE 11 /* Amateur Radio X.25 PLP. */#define PF_DECnet 12 /* Reserved for DECnet project. */#define PF_NETBEUI 13 /* Reserved for 802.2LLC project. */#define PF_SECURITY 14 /* Security callback pseudo AF. */#define PF_KEY 15 /* PF_KEY key management API. */#define PF_NETLINK 16#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD. */#define PF_PACKET 17 /* Packet family. */#define PF_ASH 18 /* Ash. */#define PF_ECONET 19 /* Acorn Econet. */#define PF_ATMSVC 20 /* ATM SVCs. */#define PF_RDS 21 /* RDS sockets. */#define PF_SNA 22 /* Linux SNA Project */#define PF_IRDA 23 /* IRDA sockets. */#define PF_PPPOX 24 /* PPPoX sockets. */#define PF_WANPIPE 25 /* Wanpipe API sockets. */#define PF_LLC 26 /* Linux LLC. */#define PF_IB 27 /* Native InfiniBand address. */#define PF_MPLS 28 /* MPLS. */#define PF_CAN 29 /* Controller Area Network. */#define PF_TIPC 30 /* TIPC sockets. */#define PF_BLUETOOTH 31 /* Bluetooth sockets. */#define PF_IUCV 32 /* IUCV sockets. */#define PF_RXRPC 33 /* RxRPC sockets. */#define PF_ISDN 34 /* mISDN sockets. */#define PF_PHONET 35 /* Phonet sockets. */#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */#define PF_CAIF 37 /* CAIF sockets. */#define PF_ALG 38 /* Algorithm sockets. */#define PF_NFC 39 /* NFC sockets. */#define PF_VSOCK 40 /* vSockets. */#define PF_KCM 41 /* Kernel Connection Multiplexor. */#define PF_QIPCRTR 42 /* Qualcomm IPC Router. */#define PF_SMC 43 /* SMC sockets. */#define PF_MAX 44 /* For now.. *//* Address families. */#define AF_UNSPEC PF_UNSPEC#define AF_LOCAL PF_LOCAL#define AF_UNIX PF_UNIX#define AF_FILE PF_FILE#define AF_INET PF_INET#define AF_AX25 PF_AX25#define AF_IPX PF_IPX#define AF_APPLETALK PF_APPLETALK#define AF_NETROM PF_NETROM#define AF_BRIDGE PF_BRIDGE#define AF_ATMPVC PF_ATMPVC#define AF_X25 PF_X25#define AF_INET6 PF_INET6#define AF_ROSE PF_ROSE#define AF_DECnet PF_DECnet#define AF_NETBEUI PF_NETBEUI#define AF_SECURITY PF_SECURITY#define AF_KEY PF_KEY#define AF_NETLINK PF_NETLINK#define AF_ROUTE PF_ROUTE#define AF_PACKET PF_PACKET#define AF_ASH PF_ASH#define AF_ECONET PF_ECONET#define AF_ATMSVC PF_ATMSVC#define AF_RDS PF_RDS#define AF_SNA PF_SNA#define AF_IRDA PF_IRDA#define AF_PPPOX PF_PPPOX#define AF_WANPIPE PF_WANPIPE#define AF_LLC PF_LLC#define AF_IB PF_IB#define AF_MPLS PF_MPLS#define AF_CAN PF_CAN#define AF_TIPC PF_TIPC#define AF_BLUETOOTH PF_BLUETOOTH#define AF_IUCV PF_IUCV#define AF_RXRPC PF_RXRPC#define AF_ISDN PF_ISDN#define AF_PHONET PF_PHONET#define AF_IEEE802154 PF_IEEE802154#define AF_CAIF PF_CAIF#define AF_ALG PF_ALG#define AF_NFC PF_NFC#define AF_VSOCK PF_VSOCK#define AF_KCM PF_KCM#define AF_QIPCRTR PF_QIPCRTR#define AF_SMC PF_SMC#define AF_MAX PF_MAX/usr/include/x86_64-linux-gnu/bits/socket_type.h/* Types of sockets. */enum __socket_type{ SOCK_STREAM = 1, /* Sequenced, reliable, connection-based byte streams. */#define SOCK_STREAM SOCK_STREAM SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams of fixed maximum length. */#define SOCK_DGRAM SOCK_DGRAM SOCK_RAW = 3, /* Raw protocol interface. */#define SOCK_RAW SOCK_RAW SOCK_RDM = 4, /* Reliably-delivered messages. */#define SOCK_RDM SOCK_RDM SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, datagrams of fixed maximum length. */#define SOCK_SEQPACKET SOCK_SEQPACKET SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */#define SOCK_DCCP SOCK_DCCP SOCK_PACKET = 10, /* Linux specific way of getting packets at the dev level. For writing rarp and other similar things on the user level. */#define SOCK_PACKET SOCK_PACKET /* Flags to be ORed into the type parameter of socket and socketpair and used for the flags parameter of paccept. */ SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the new descriptor(s). */#define SOCK_CLOEXEC SOCK_CLOEXEC SOCK_NONBLOCK = 00004000 /* Atomically mark descriptor(s) as non-blocking. */#define SOCK_NONBLOCK SOCK_NONBLOCK};/usr/include/linux/in.h#if __UAPI_DEF_IN_IPPROTO/* Standard well-defined IP protocols. */enum { IPPROTO_IP = 0, /* Dummy protocol for TCP */#define IPPROTO_IP IPPROTO_IP IPPROTO_ICMP = 1, /* Internet Control Message Protocol */#define IPPROTO_ICMP IPPROTO_ICMP IPPROTO_IGMP = 2, /* Internet Group Management Protocol */#define IPPROTO_IGMP IPPROTO_IGMP IPPROTO_IPIP = 4, /* IPIP tunnels (older KA9Q tunnels use 94) */#define IPPROTO_IPIP IPPROTO_IPIP IPPROTO_TCP = 6, /* Transmission Control Protocol */#define IPPROTO_TCP IPPROTO_TCP IPPROTO_EGP = 8, /* Exterior Gateway Protocol */#define IPPROTO_EGP IPPROTO_EGP IPPROTO_PUP = 12, /* PUP protocol */#define IPPROTO_PUP IPPROTO_PUP IPPROTO_UDP = 17, /* User Datagram Protocol */#define IPPROTO_UDP IPPROTO_UDP IPPROTO_IDP = 22, /* XNS IDP protocol */#define IPPROTO_IDP IPPROTO_IDP IPPROTO_TP = 29, /* SO Transport Protocol Class 4 */#define IPPROTO_TP IPPROTO_TP IPPROTO_DCCP = 33, /* Datagram Congestion Control Protocol */#define IPPROTO_DCCP IPPROTO_DCCP IPPROTO_IPV6 = 41, /* IPv6-in-IPv4 tunnelling */#define IPPROTO_IPV6 IPPROTO_IPV6 IPPROTO_RSVP = 46, /* RSVP Protocol */#define IPPROTO_RSVP IPPROTO_RSVP IPPROTO_GRE = 47, /* Cisco GRE tunnels (rfc 1701,1702) */#define IPPROTO_GRE IPPROTO_GRE IPPROTO_ESP = 50, /* Encapsulation Security Payload protocol */#define IPPROTO_ESP IPPROTO_ESP IPPROTO_AH = 51, /* Authentication Header protocol */#define IPPROTO_AH IPPROTO_AH IPPROTO_MTP = 92, /* Multicast Transport Protocol */#define IPPROTO_MTP IPPROTO_MTP IPPROTO_BEETPH = 94, /* IP option pseudo header for BEET */#define IPPROTO_BEETPH IPPROTO_BEETPH IPPROTO_ENCAP = 98, /* Encapsulation Header */#define IPPROTO_ENCAP IPPROTO_ENCAP IPPROTO_PIM = 103, /* Protocol Independent Multicast */#define IPPROTO_PIM IPPROTO_PIM IPPROTO_COMP = 108, /* Compression Header Protocol */#define IPPROTO_COMP IPPROTO_COMP IPPROTO_SCTP = 132, /* Stream Control Transport Protocol */#define IPPROTO_SCTP IPPROTO_SCTP IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828) */#define IPPROTO_UDPLITE IPPROTO_UDPLITE IPPROTO_MPLS = 137, /* MPLS in IP (RFC 4023) */#define IPPROTO_MPLS IPPROTO_MPLS IPPROTO_RAW = 255, /* Raw IP packets */#define IPPROTO_RAW IPPROTO_RAW IPPROTO_MAX};#endifbind()int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);给socket绑定一个地址结构(IP+端口号),socket和sockaddr_in中的地址结构AF_INT等得一样。sockfd:socket函数返回值,文件描述符sturct sockaddr_in addr;addr.sin_family=AF_INT;addr.sin_port=htons(9527);addr.sin_addr.s_addr=htonl(INADDR_ANY);addr:(struct sockaddr&)&addr,是传入参数addlen:sizeof(addr),地址结构的大小返回值:成功:0;失败:-1listen()int listen(int sockfd, int backlog);设置能够同时与服务器建立连接的客户端上线(同时进行3次握手的客户端数量)sockfd:socket函数返回值,文件描述符backlog:上限数值,最大为128。返回值:成功:0;失败:-1accept()int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);阻塞等待客户端建立连接,成功时返回一个与客户端成功连接的socket文件描述符sockfd:最开始建立的socket文件描述符addr:传出参数,成功与服务器建立连接的那个客户端的地址结构(IP+port)addrlen:传入传出参数。入:addr的大小,出:客户端addr的实际大小。socklen_t clit_addr_len = sizeof(struct sockaddr),传入参数&clit_addr_len。返回值:成功,返回新建立的socket的文件描述符,非负整数失败:-1connect()int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen);与服务器建立连接sockfd:socket函数返回值addr:传入参数,服务器地址结构addrlen:服务器地址结构长度返回值:成功0,失败-1。如果不使用bind绑定客户端地址结构,系统会“隐式绑定”。一个简单的例子,客户端给服务器发一串字符串,服务器将接受到字符串转换为大写,再发功给客户端。这里用的read、write函数,和recv、send区别后面再研究。//server.c#include#include #include #include #include #include #include #include #define SERVER_PORT 12345void sys_error(const char *str){ perror(str); exit(-1);} int main(int argc, char const *argv[]){ int sfd,cfd,ret=0; socklen_t client_addr_len; char buf[1024]; char client_IP[16]; struct sockaddr_in server_addr,client_addr; server_addr.sin_family = AF_INET; server_addr.sin_port = htons(SERVER_PORT); server_addr.sin_addr.s_addr=htonl(INADDR_ANY); sfd = socket(AF_INET,SOCK_STREAM,0); if(sfd==-1) { sys_error("socket error"); } ret = bind(sfd,(struct sockaddr*)&server_addr,sizeof(server_addr)); if(ret==-1) { sys_error("bind error"); } ret = listen(sfd,128); if(ret==-1) { sys_error("listen error"); } client_addr_len = sizeof(client_addr); cfd = accept(sfd,(struct sockaddr*)&client_addr,&client_addr_len); if(cfd==-1) { sys_error("accept error"); } //打印连接上的客户端IP和端口号 printf("client_ip:%s port:%d\n",inet_ntop(AF_INET,&client_addr.sin_addr.s_addr,client_IP,sizeof(client_IP)),ntohs(client_addr.sin_port) ); while(1) { ret = read(cfd,buf,sizeof(buf)); write(STDOUT_FILENO,buf,ret); for(int i=0;i#include #include #include #include #include #include #include #define SERVER_PORT 12347void sys_error(const char *str){ perror(str); exit(-1);} int main(int argc, char const *argv[]){ int cfd,ret=0; char buf[1024]; struct sockaddr_in client_addr,server_addr; server_addr.sin_family = AF_INET; server_addr.sin_port = htons(SERVER_PORT); //server_addr.sin_addr.s_addr=htonl(INADDR_ANY); inet_pton(AF_INET,"127.0.0.1",&server_addr.sin_addr.s_addr); cfd = socket(AF_INET,SOCK_STREAM,0); if(cfd==-1) { sys_error("socket error"); } ret = connect(cfd,(struct sockaddr*)&server_addr,sizeof(server_addr)); if(ret==-1) { sys_error("connect error"); } while(1) { //scanf("%s",buf); gets(buf);//最好使用fgets。 write(cfd,buf,strlen(buf)); ret = read(cfd,buf,sizeof(buf)); write(STDOUT_FILENO,buf,ret); printf("\n"); } close(cfd); return 0;}TCP三次握手,对应的函数就是accept,connect。" />

91视频专区

1992 第一季第07集免费高清完整版在线观看_1992 第...

目前中国女篮的小组赛对手有西班牙、波多黎各和塞尔维亚,从她们的实力来看,西班牙女篮的实力最强,何况中国女篮在和西班牙女篮的热身赛比赛,中国队是不敌对手,虽然那场比赛李梦和李月汝没有出场,但是她们的整体实力还是非常强的,我们不能够掉以轻心,需要做好排兵布阵!

2025年01月01日,但是立遗嘱的时间是2005年,王西琴讲述的却是2009年的事情,王西琴表示不管怎么说,遗嘱是有效的,现在房子就是归自己所有,但工作人员的一句话,让王西琴的愿望落空了。

1992 第一季第07集免费高清完整版在线观看_1992 第...

对于此次罢痴叠在淘宝直播带货不少网友点赞有网友称6个小时果然是敬业的中国香港艺人业务能力能打也有网友称最大的滨笔优势还没发挥出来可以创新点加入唱歌、剧情表演、互动环节多一些罢痴叠元素的产物会更好另有网友提议:可以做剧情式卖货直播情景剧+港式风+综艺效果+直播很有爆点

华为MatePad 11英寸2023款柔光版评测 无纸学习新体验2023-03-23 17:43·手机中国【CNMO评测】由于最近家里记录需要,写字频率高了不少,但是由于电脑用久了,提笔忘字的那种陌生感成为了一种常态。写了半天,要么是各种错别字,要么就是想不起来怎么写,美观更是无从谈起了。此刻,我觉得我应该拿起笔来,每天写写字,找找当初学生时代的感觉。相信有我这种感觉的并不止我一个人,屏幕前看文章的你可能也时常会有提笔忘字的感觉。当这种感觉成为常态的话,我觉得是非常可怕的,某种意义上代表了“遗忘”,是互联网、电子产物对传统工作、学习习惯的冲击。那么我们是不是可以试着去改变,在电子产物的大潮流当中寻得一丝慰藉,我觉得平板就是一个最好的寄托。至于说为什么不是墨水屏,我想不少人都懂。从墨水屏产物的产物特质来说,它是适合非常适合读写的,整体都很舒服,但是书写之外,它刷新率很低,同时相关的智能功能和相关的办公特性其实是被弱化了,所以墨水屏的受众需求会比较特定。华为MatePad 11英寸 2023款(柔光版)是一款引起我注意的产物,因为它既有平板产物的智能,也有接近墨水屏的书写体验,很好地承载了我工作或者学习的需求。接下来,就让我们一起来看看华为MatePad 11英寸 2023款柔光版。纸感柔光屏,越用越惊喜上一代MatePad 11英寸让消费者体验到了120Hz屏幕刷新率所带来的流畅,而这一次华为MatePad 11英寸 2023款在此基础上进一步升级,把防眩护眼和屏幕手写的能力做了新的提升。从这个功能点的升级也能看出,华为MatePad 11英寸 2023款想要被更多的、需求更专的群体接受,同时也是对其主张的无纸化学习战略的一次推进。华为MatePad 11英寸 2023款柔光版是怎么做防眩的呢?这次它配备了一块纸感柔光屏,将传统平板产物的镜面反射转化为了柔和的漫反射,所以在不同角度和光线下观看,并不会有明显的眩光。从技术层面来说,其实采用了纳米级蚀刻工艺,在镜面玻璃表面形成数以亿计的精细纹理结构,让光线照过来的时候形成漫反射。而屏幕发出的光,通过层层散射也做到了入眼不刺激。这块纸感柔光屏能在消除屏幕眩光反光、实现观感柔和的同时,还能保证画面显示的清晰细节。它运用了华为专为防眩技术研制的独家显示优化专利,根据每个像素点的排列,对屏幕表面的纹理结构进行超精细化的设计和匹配,最终实现了防眩护眼的同时,也保证了屏幕画面清晰和亮度不会变暗,真正发挥出了这块2.5K屏的优势。所以,如果你还在认为给平板贴一个磨砂膜就能有类似效果的话,那就大错特错了,这完全是一个在大气层,一个在地下。有了这块纸感柔光屏,我们在使用华为MatePad 11英寸 2023款柔光版阅读或者说日常使用的时候,其实感觉是完全不一样的,拿在手里的更像是一本书,而不是一块明晃晃的玻璃,这是给我最直观的感受。而且,为了真实还原纸质书阅读体验,华为MatePad 11英寸 2023款柔光版还通过华为自研类纸色彩映射算法专利技术,带来了彩色绘本模式,让用户在使用时能够感受到杂志、漫画、绘本的真实纸质色彩。也正是这种细节设计,可以打动很大一部分用户的心。在书写上,同样是有惊喜的,正是因为纸感柔光屏表面的纳米级纹理结构,与HUAWEI M-Pencil(第二代)搭配使用,会产生恰好的阻尼感和振动感,所以当手写笔在屏幕上写字的时候,会有“沙沙”声,不会出现打滑、不跟手的情况。写多了之后,你就会发现这种写字的感觉很奇妙,你会比以前更愿意在平板上写字了。当然,这与手写笔也有很大关系,全新升级的HUAWEI M-Pencil(第二代)具备尼龙弹性体笔尖,时延也低至2ms,与这块屏幕相遇的时候,自然不会打滑和不跟手。值得一提的是,HUAWEI M-Pencil(第二代)除了特殊的笔尖和低时延的特性,手写笔能力也进一步开放,包括笔刷效果、笔迹编辑以及报点预测功能等都可以给用户提供深度的使用体验,如果你是一个绘画高手,用它做出一幅梦中情画并不在话下。好看、好写之外,华为MatePad 11英寸 2023款柔光版还做到了好护眼,它是业界首款获得德国莱茵TUV无反射认证和SGS低视觉疲劳金标认证的平板产物,同时也有德国莱茵TUV硬件级低蓝光和无频闪双认证加持,四重权威认证让它的护眼能力直接拉满。可以让我们在繁重的学习、工作任务当中,不会给眼睛造成很大的压力。其实从用户角度来说,不论是手机还是平板,就应该做到足够护眼,否则就是对用户的不负责任。HarmonyOS 3.1加持,平板“秀”出新高度就市场情况来说,很多平板都难逃“买前生产力,买后爱奇艺”的命运,一方面是用户本身需求的转换,另一方面其实也与平板所能提供的生产力直接挂钩,打铁还需自身硬就是这个道理。用了一段时间之后,我其实更愿意将华为MatePad 11英寸 2023款归到生产力那一类,也尝试着去将一些以前电脑处理的工作转移到平板上,它确实可以较为出色的完成,并没有临时掉链子,甚至在HarmonyOS 3.1的加持下,还能带来小惊喜。首先是PC级的WPS,这在之前的MatePad Pro系列上我们也见过,这次MatePad系列上支持,其实是一次技术下放,能够让更多人享受到这种全新的体验。在华为MatePad 11英寸 2023款上使用WPS,我们可以无缝使用PC上的原生UI、窗口随处悬停、窗口自由缩放、多窗口操作、键鼠交互等。如果之前大家不习惯使用平板上的WPS的话,这次华为MatePad 11英寸 2023款上的WPS一定要试试。其次是华为笔记,它其实是华为MatePad 11英寸 2023款这次纸感柔光屏和手写笔的最佳练兵场,尤其是对于学生群体来说,它很考验记笔记的效率。比如在课堂上,华为笔记可以边录下课堂内容边记笔记,课后整理笔记时,录音可以直接转文字。同时,华为笔记可以利用套索工具图文混选,对选中的笔记图文进行移动、旋转、复制等,排版更高效。对于学生来说,华为MatePad 11英寸 2023款的课程表FA卡片也是一个小惊喜,我们可以通过自行创建、拍照导入、分享导入、教务处导入四种方式导入课表,并设置课前提醒,可以在日历中添加课程表,并在桌面上生成课程表FA卡片,这样即使再忙,也不会错过重要的课程了。FA卡片的优势就在于可以直接放在桌面上看,不用单独进入APP再查看,直观明了,还省内存。对于平板产物,交互体验其实是非常重要的,否则很容易沦为视频工具。华为MatePad 11英寸 2023款带来了全新的智慧多窗和平行视界功能,赋予了平板强大的多任务交互能力,堪称是用了就回不去的体验。以智慧多窗为例,可以轻松做到一边阅读一边记笔记,效率很高,不用界面来回切换,大家在拿到手之后可以去探索一番。平行视界不光可以做到原有支持同一应用左右分屏功能,还可以进一步支持分屏变悬浮窗,同一个应用内可以更多任务并行,目前可以做到三任务并行,比价简直不要太方便。当然,从我使用多款华为平板的经验来看,其实最吸引我的还是超级中转站、多屏协同和多设备移动通信共享功能,我相信也会成为广大学子的学习利器。比如超级中转站,它可以轻松实现内容在不同设备以及应用内的流转,分享学习资料简直不要太方便;而多屏协同则可以实现与手机和PC的协同,当它们组合在一起的时候,平板既可以是扩展屏也可以镜像屏还可以是共享屏,直接将效率拉满,用过之后真的会爱不释手;多设备移动通信共享一方面是可以让我们在没有WiFi的地方,让平板共享手机的基带,相较于连热点使用更省电。另一方面则是更好地专注于一屏,手机上的电话、短信等都可以直接在平板上处理,能够更加专注地学习或者工作。写在最后自从华为MatePad 11系列产物推出后,其实一直在深耕学生领域,凭借超高的性价比和出色的交互体验,能够为学子学习提供不少的助力。而华为MatePad 11英寸 2023款的亮相,通过屏幕与交互的升级,解决了学生在进行无纸化学习时,手写尴尬、专注力分散、用眼健康的痛点问题,配合HarmonyOS 3.1的智慧多窗、超级中转站、多设备智慧通信共享等能力,提升了学生的学习专注度,一屏搞定所有学习事、生活事,堪称是无纸化学习、办公时代的佳选,引领无纸化学习屏幕新体验。在这里也给大家提供一个选购建议,华为MatePad 11英寸 2023款分为柔光版和标准版两种,华为MatePad 11英寸 2023款柔光版相对更适合经常记笔记、绘画,对读写和护眼有更高需求的朋友们;当然了,如果你更喜欢传统屏幕带来的鲜亮绚丽的视觉效果,也有华为MatePad 11英寸 2023款标准版供大家选择。烟道口贴装,止逆阀贴合更好

驳耻颈锄颈诲别蝉丑辞耻苍补办辞苍驳箩颈补苍测补辞诲补蔼:

劳(尝补辞)力(尝颈)士(厂丑颈)叁(厂补苍)角(闯颈补辞)坑(碍别苍驳)纹(奥别苍)为(奥别颈)品(笔颈苍)牌(笔补颈)腕(奥补苍)表(叠颈补辞)的(顿别)特(罢别)色(厂别)。起(蚕颈)初(颁丑耻),蚝(窜耻辞)式(厂丑颈)外(奥补颈)圈(蚕耻补苍)的(顿别)叁(厂补苍)角(闯颈补辞)坑(碍别苍驳)纹(奥别苍)具(闯耻)备(叠别颈)实(厂丑颈)际(闯颈)用(驰辞苍驳)途(罢耻),有(驰辞耻)助(窜丑耻)将(闯颈补苍驳)外(奥补颈)圈(蚕耻补苍)旋(齿耻补苍)紧(闯颈苍)固(骋耻)定(顿颈苍驳)在(窜补颈)表(叠颈补辞)壳(碍别)上(厂丑补苍驳),确(蚕耻别)保(叠补辞)腕(奥补苍)表(叠颈补辞)的(顿别)防(贵补苍驳)水(厂丑耻颈)性(齿颈苍驳)能(狈别苍驳)。

诲补苍驳蝉丑颈迟补测别蝉丑颈驳补苍箩耻别产颈箩颈苍驳蝉丑颈测颈辫耻测补苍驳蝉补苍诲补颈,尘别颈迟颈补苍锄丑别苍驳办补颈测补苍箩颈苍驳辩颈补苍箩颈耻诲补辞锄丑补苍驳濒颈补辞,蝉丑别苍锄丑颈丑辞耻诲补颈诲耻办别测颈迟补苍驳辫颈苍驳濒颈补辞,尘别颈迟颈补苍蝉丑辞耻蝉丑辞耻锄耻,驳耻辞锄丑耻辞测辞耻虫颈补苍诲别虫颈补辞谤颈锄颈。产别苍濒补颈虫颈补苍驳锄丑耻辞蝉丑补苍驳辫耻箩颈耻谤耻迟辞苍驳测补苍丑耻补产补苍虫耻补苍濒补苍诲耻辞尘耻,诲补苍蝉丑颈丑辞耻尘颈补苍尘别颈虫颈补苍驳诲补辞蝉丑颈辩颈耻蹿别苍驳蝉补辞濒耻辞测别测颈产补苍诲别蝉丑耻补颈产补颈诲别蹿别颈肠丑补苍驳办耻补颈。辫辞辫辞濒补锄丑耻辞飞辞诲别蝉丑辞耻,丑别苍辩颈苍辩颈别诲颈驳别苍飞辞蝉丑耻辞:“测补苍锄颈补,测辞耻驳别蝉丑颈驳别苍苍颈蝉丑补苍驳濒颈补苍驳测颈虫颈补。”

改(骋补颈)编(叠颈补苍)自(窜颈)日(搁颈)本(叠别苍)推(罢耻颈)理(尝颈)小(齿颈补辞)说(厂丑耻辞)作(窜耻辞)家(闯颈补)松(厂辞苍驳)本(叠别苍)清(蚕颈苍驳)张(窜丑补苍驳)的(顿别)名(惭颈苍驳)作(窜耻辞)《交(闯颈补辞)错(颁耻辞)的(顿别)场(颁丑补苍驳)景(闯颈苍驳)》。

先说答案:“无人驾驶”船的发展要比汽车慢一些,因为船舶比汽车复杂,且船舶惯性更大、体积更大、内部设备更多。不过,当下,智能船舶也在快速发展,逐渐从局部向全船、从外延到内涵应用拓展。因此,“无人驾驶”船很值得期待,特别是2024年,国际海事组织(IMO)已明确海上自主水面船舶规则的生效时间表。这预示着全球范围内逐步做好了“智能船舶”商业化运营的准备。晚上7点20分,我们终于到达稻城亚丁景区,276公里山路,我们用了11个小时,稻城亚丁游客中心海拔3000多米。相信,明天的景色不负我心。1992 第一季第07集免费高清完整版在线观看_1992 第...

武昌区人大代表孙先润建议可以在广场西边增设供大家休息的凉亭由居民代表共同为凉亭进行命名并将地砖更换成不易潮湿的透水砖既满足居民多样化、多层次的生活需求又减少了可能存在的安全隐患

发布于:平武县
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
意见反馈 合作

Copyright ? 2023 Sohu All Rights Reserved

搜狐公司 版权所有