?!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> Socket|络~程常用的结构及函数结-南软g开发|׃软g开?南赢dU技软g开发公?/title> <meta name="keywords" content="Socket|络~程常用的结构及函数结"/> <meta name="description" content="IP地址的作用是标示计算机的|卡地址Q每台计机都有一个IP地址Q端口,是指计算ZZ标示在计机中访问网l的不同E序而设的编Pq不是网卡接U的端口Q而是不同E序的逻辑~号Qƈ不是实际存在的;域名Q是用来代替"/> <link href="/css/style.css" rel="stylesheet" type="text/css" /> <meta http-equiv="Cache-Control" content="no-transform" /> <meta http-equiv="Cache-Control" content="no-siteapp" /> </head> <body> <div style="position:fixed;left:-9000px;top:-9000px;"><dfn id="orz4q"><noscript id="orz4q"><xmp id="orz4q"><output id="orz4q"></output></xmp></noscript></dfn><strong id="orz4q"><dl id="orz4q"></dl></strong><ol id="orz4q"><p id="orz4q"><nav id="orz4q"><pre id="orz4q"></pre></nav></p></ol><dfn id="orz4q"></dfn><small id="orz4q"><optgroup id="orz4q"></optgroup></small><center id="orz4q"><small id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></small></center><table id="orz4q"><ruby id="orz4q"><dl id="orz4q"><del id="orz4q"></del></dl></ruby></table><rt id="orz4q"></rt><output id="orz4q"></output><mark id="orz4q"></mark><dl id="orz4q"></dl><div id="orz4q"></div><optgroup id="orz4q"></optgroup><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><video id="orz4q"></video><object id="orz4q"><sup id="orz4q"></sup></object><em id="orz4q"></em><div id="orz4q"></div><progress id="orz4q"><listing id="orz4q"><th id="orz4q"><option id="orz4q"></option></th></listing></progress><meter id="orz4q"></meter><acronym id="orz4q"><rt id="orz4q"></rt></acronym><label id="orz4q"></label><track id="orz4q"></track><noscript id="orz4q"><div id="orz4q"><pre id="orz4q"><ol id="orz4q"></ol></pre></div></noscript><s id="orz4q"><kbd id="orz4q"></kbd></s><form id="orz4q"></form><var id="orz4q"></var><dl id="orz4q"><strike id="orz4q"></strike></dl><xmp id="orz4q"><strike id="orz4q"><small id="orz4q"><samp id="orz4q"></samp></small></strike></xmp><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><progress id="orz4q"></progress></address></thead></listing><del id="orz4q"></del><object id="orz4q"><address id="orz4q"><samp id="orz4q"><rt id="orz4q"></rt></samp></address></object><ruby id="orz4q"></ruby><noframes id="orz4q"></noframes><code id="orz4q"></code><var id="orz4q"></var><nav id="orz4q"></nav><u id="orz4q"></u><span id="orz4q"></span><li id="orz4q"></li><tbody id="orz4q"><table id="orz4q"><span id="orz4q"><dl id="orz4q"></dl></span></table></tbody><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><var id="orz4q"></var><nav id="orz4q"></nav><rt id="orz4q"></rt><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><u id="orz4q"><s id="orz4q"></s></u><pre id="orz4q"><em id="orz4q"><p id="orz4q"><rp id="orz4q"></rp></p></em></pre><rt id="orz4q"><tr id="orz4q"></tr></rt> <pre id="orz4q"></pre><wbr id="orz4q"><rt id="orz4q"><tr id="orz4q"><output id="orz4q"></output></tr></rt></wbr><xmp id="orz4q"><pre id="orz4q"><em id="orz4q"><p id="orz4q"></p></em></pre></xmp><sub id="orz4q"></sub><p id="orz4q"></p><td id="orz4q"><tbody id="orz4q"></tbody></td><code id="orz4q"><video id="orz4q"><track id="orz4q"><tt id="orz4q"></tt></track></video></code><thead id="orz4q"></thead><source id="orz4q"><nobr id="orz4q"><cite id="orz4q"><td id="orz4q"></td></cite></nobr></source><del id="orz4q"></del><sub id="orz4q"></sub><code id="orz4q"></code><code id="orz4q"><menu id="orz4q"></menu></code><legend id="orz4q"><button id="orz4q"><source id="orz4q"><i id="orz4q"></i></source></button></legend><delect id="orz4q"></delect><ins id="orz4q"></ins><i id="orz4q"></i><pre id="orz4q"></pre><mark id="orz4q"></mark><b id="orz4q"><table id="orz4q"><strong id="orz4q"><noframes id="orz4q"></noframes></strong></table></b><source id="orz4q"></source><small id="orz4q"><optgroup id="orz4q"></optgroup></small><dl id="orz4q"></dl><center id="orz4q"><em id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></em></center><address id="orz4q"></address><tt id="orz4q"><code id="orz4q"><nobr id="orz4q"><sub id="orz4q"></sub></nobr></code></tt><strong id="orz4q"></strong><delect id="orz4q"></delect><nobr id="orz4q"></nobr><strike id="orz4q"></strike><strong id="orz4q"></strong><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><menu id="orz4q"></menu><menu id="orz4q"></menu><small id="orz4q"><optgroup id="orz4q"></optgroup></small><input id="orz4q"><label id="orz4q"></label></input><big id="orz4q"><nobr id="orz4q"><track id="orz4q"><button id="orz4q"></button></track></nobr></big><sub id="orz4q"></sub><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><tbody id="orz4q"><table id="orz4q"></table></tbody><font id="orz4q"><mark id="orz4q"><meter id="orz4q"><tbody id="orz4q"></tbody></meter></mark></font><dl id="orz4q"><strike id="orz4q"><i id="orz4q"><samp id="orz4q"></samp></i></strike></dl><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><strong id="orz4q"><input id="orz4q"></input></strong><wbr id="orz4q"></wbr><legend id="orz4q"></legend><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><center id="orz4q"><ol id="orz4q"><noscript id="orz4q"><b id="orz4q"></b></noscript></ol></center> <u id="orz4q"><s id="orz4q"></s></u><u id="orz4q"><s id="orz4q"></s></u><output id="orz4q"></output><ruby id="orz4q"></ruby><wbr id="orz4q"></wbr><ins id="orz4q"></ins><s id="orz4q"><kbd id="orz4q"></kbd></s><b id="orz4q"></b><nobr id="orz4q"></nobr><strike id="orz4q"></strike><input id="orz4q"><label id="orz4q"></label></input><em id="orz4q"></em><form id="orz4q"></form><tbody id="orz4q"><table id="orz4q"><legend id="orz4q"><dl id="orz4q"></dl></legend></table></tbody><tr id="orz4q"></tr><dd id="orz4q"></dd><li id="orz4q"></li><code id="orz4q"></code><menu id="orz4q"><samp id="orz4q"></samp></menu><p id="orz4q"><rp id="orz4q"><u id="orz4q"><strong id="orz4q"></strong></u></rp></p><pre id="orz4q"><em id="orz4q"></em></pre><tbody id="orz4q"><table id="orz4q"></table></tbody><ol id="orz4q"><p id="orz4q"><label id="orz4q"><blockquote id="orz4q"></blockquote></label></p></ol><tr id="orz4q"><option id="orz4q"></option></tr><legend id="orz4q"></legend><p id="orz4q"><rp id="orz4q"><output id="orz4q"><strong id="orz4q"></strong></output></rp></p><menu id="orz4q"></menu><rt id="orz4q"></rt><rp id="orz4q"></rp><optgroup id="orz4q"></optgroup><del id="orz4q"></del><button id="orz4q"></button><rp id="orz4q"></rp><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><thead id="orz4q"><menuitem id="orz4q"><progress id="orz4q"><noscript id="orz4q"></noscript></progress></menuitem></thead><sup id="orz4q"><acronym id="orz4q"></acronym></sup><center id="orz4q"></center><font id="orz4q"></font><noscript id="orz4q"><div id="orz4q"></div></noscript><font id="orz4q"></font><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><meter id="orz4q"></meter><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><nav id="orz4q"></nav><input id="orz4q"><label id="orz4q"><menuitem id="orz4q"><progress id="orz4q"></progress></menuitem></label></input><address id="orz4q"></address><dl id="orz4q"></dl><progress id="orz4q"></progress><video id="orz4q"></video></div> <div class="head"> <div class="top"><span><a href="/html/sitemap.xml">XML</a> | <a href="/html/sitemap.html">HTML</a> | <a href="/sitemap.txt">TXT</a></span></div> <div class="bank"> <div class="logo"> <h1><strong><a href="http://www.themmauniversity.com" style="margin-right:10px">南软g开?/a></strong><strong><a href="http://www.themmauniversity.com">׃软g开?/a></strong></h1> </div> <div class="contact-top"></div> </div> <div class="menu"> <ul> <li><a href="/">?#160;   ?/a></li> <li><a href="/About/">关于我们</a></li> <li><a href="/Advantage/">开发优?/a></li> <li><a href="/Products/">产品展示</a></li> <li><a href="/Cooperation/">合作企业</a></li> <li><a href="/News/">新闻动?/a></li> <li><a href="/Contact/">联系我们</a></li> </ul> </div> <div class="banner"><img src="/images/banner.jpg" width="1000" height="341"/></div> </div> <div id="position"><div>您当前位|:<a href="/">软g开?/a> >> <a href="/News/">新闻动?/a> >> <a href="/News/Technology/">软g开发技?/a> >> 览文章</div></div> <div class="youshi_f1" id="youshi_tdyx"> <div class="youshi01"> <h1 class="article_title">Socket|络~程常用的结构及函数结</h1> <div class="article_author">d旉Q?016-12-20 17:37:26 文章作者:<a href="/">南软g开?/a> 览ơ数Q?Script Language="Javascript" Src="/item/GetHits.asp?Action=Count&GetFlag=0&m=1&ID=3091"></Script></div> <div class="article_main"><div id="MyContent"><p>IP地址的作用是标示计算机的|卡地址Q每台计机都有一个IP地址Q端口,是指计算ZZ标示在计机中访问网l的不同E序而设的编Pq不是网卡接U的端口Q而是不同E序的逻辑~号Qƈ不是实际存在的;域名Q是用来代替IP地址来标C机的一U直观名Uͼ例如癑ֺ|站的IP地址?02.108.22.43Q这个IP地址没有M逻辑含义Q不便记忆,而www.baidu.com是一个便于记忆的名称Q用于代替这个IP地址Q套接字的本意是插Q在|络中用来描q计机中不同程序与其他计算机程序的通信方式?/p><p><strong style="margin: 0px; padding: 0px;">  常用的套接字cd?U:</strong></p><p>  Q?Q流套接字(SOCK——STREAMQ:使用了面向连接的可靠的数据通信方式Q即TCP协议Q?/p><p>  Q?Q数据报套接字(Raw SocketsQ:使用了不面向q接的数据传输方式,即UDPQ?/p><p>  Q?Q原始套接字QSOCK——RAWQ:没有l过处理的IP数据包,可以Ҏ自己E序的要求进行封装?/p><p>  |络协议是指不同的计机、不同的操作pȝ在进行网l通信时的l一U定。网l服务指的是|络上的计算机通过q行E序为其他的计算机提供信息或q算的功能?/p><p>     套接字相关的数据cdQsockaddr和sockaddr_inQsockaddr用来保存一个套接字Q定义如下:</p><p>struct sockaddr</p><p>{</p><p>    unsigned short int sa_family; //指定通信地址cdQ如果是TCP/IP通信Q则gؓAF_inet</p><p>    char sa_data[14]; //最多用14个字W长度,用来保存IP地址和端口信?/p><p>};</p><p>  sockaddr_in的功能与socdaddr相同Q也是用来保存一个套接字的信息,不同的是IP地址与端口分开Z同的成员Q定义如下:</p><p>struct sockaddr_in</p><p>{</p><p>    unsigned short int sin_family; //指定通信地址cd</p><p>    uint16_t sin_port; //套接字用的端口?/p><p>    struct in_addr sin_addr; //需要访问的IP地址</p><p>    unsigned char sin_zero[8]; //未用的字段Q填充ؓ0</p><p>};</p><p>  在这一l构中,in_addr也是一个结构体Q定义如下,用于保存一个IP地址Q?/p><p>struct in_addr</p><p>{</p><p>    uint32_t  s_addt;</p><p>};</p><p>  用域名取得主机的IP地址Q?/p><p>struct hostent *gethostbyname(const char *name);</p><p>  l构体hostent的定义如下:</p><p>struct hostent</p><p>{</p><p>    char *h_name;//正式的主机名U?/p><p>    char **h_aliases;//q个L的别?/p><p>    int  h_addrtype;//L名的cd</p><p>    int  h_length;//地址的长?/p><p>    char **h_addr_list;//从域名服务器取得的主机地址</p><p>}Q?/p><p>  用IP地址q回域名Q?/p><p>struct hostent *gethostbyaddr(const void *addr,socklen_t len,int type);</p><p>  由协议名取的协议数据Q?/p><p>struct protoent *getprotobyname(char *name);</p><p>  l构体protoent定义如下Q?/p><p>struct protoent</p><p>{</p><p>   char *p_name;//协议的名U?/p><p>   char **p_aliases;//协议的别?/p><p>   int p_proto;//协议的序?/p><p>}Q?/p><p>  由协议编号取得协议信息:</p><p>struct protoent *getprotobynumber(int proto);</p><p>  取得pȝ支持的所有协议:</p><p>struct protoent *getprotoent(void);</p><p>  取得pȝ支持的网l服务:</p><p>struct servent *getservent(void);</p><p>  l构体servent定义如下Q?/p><p>struct servent</p><p>{</p><p>   char *s_name;//q个服务的名U?/p><p>   char **s_aliases;//q个服务可能的别?/p><p>   int s_port;//q个服务可能的端?/p><p>   char *s_proto;//q个服务可能使用的协?/p><p>};</p><p>  用名U取得系l所支持的服务:</p><p>struct servent *getservbyname(char *name,char *proto); //nameQ服务器名称Qproto服务器所使用的协议;</p><p>  q口取得服务名Uͼ</p><p>struct servent *getservbyport(int port,char *proto)</p><p>//port是端口的~号Q需要注意的是这个端口号需要用htons()函数q行转换Qproto表示一个协议的字符Ԍ</p><p>  网l地址转换成长整型Q?/p><p>long inet_addr(char *cp); //cp表示一个IP地址字符Ԍ</p><p>  长整型IP地址转换成网l地址卛_端模式转换Q?/p><p>char *inet_ntoa(struct in_addr in);</p><p>  计机中的32位长整型数{换成|络字符序?2位长整型敎ͼ</p><p>uint32_t htonl(uint32_t hostlong)Q?/p><p>  计机中的16位整型数转换成网l字W顺序的16位整型数Q?/p><p>uint16_t htons(uint16_t hostshort)Q?/p><p>  网l字W顺序的32位长整型数{换成计算Z?2位长整型敎ͼ</p><p>uint32_t ntohl(uint32_t netlong)Q?/p><p>  网l字W顺序的16位整型数转换成计机中的16位整型数Q?/p><p>uint16_t ntohs(uint16_t netshort)Q?/p><p>  herror函数昄错误Q?/p><p>void herror(const char *S); //s是一个字W串Q函数先输出q个字符Ԍ然后输出错误信息</p><p>  创徏套接字函敎ͼ</p><p>int socket(int domain,int type,int protocol);</p><p>//参数domain用于指定创徏套接字所使用的协议族Q可取AF_UNIX,AF_INET,AF_INTE6Q?/p><p>//参数type指定套接字的cdQ可取SOCK_STREAM,SOCK_DGRAM,SOCK_RAWQ?/p><p>//参数protocol通常讄?</p><p>  在指定套接字上创建链接函敎ͼ</p><p>int connect(int sockfd,const struct sockaddr *serv_addr,socklen_t addrlen);</p><p>//参数sockfd是一个由函数socket创徏的套接字</p><p>//参数serv_addr是一个地址l构Q指定服务器的IP地址和端口号</p><p>//参数addrlen为参数serv_addr的长?/p><p>  一个套接字和某个端口绑定在一L函数Q?/p><p>int bind(int sockfd,struct sockaddr *my_addr,socklen_t addrlen);</p><p>//一般只有服务器端的E序调用Q参数my_addr指定了sockfd绑定到的本地地址Q可以将参数my_addr的sin_addr讄为INADDR_ANY而不是某个确定IP地址可以绑定到M|络接口?/p><p>  把套接字转化动监听函敎ͼ</p><p>int listen(int s,int backlog);</p><p>//参数s为套接字Q参数backlog指定链接h队列的最大长度;</p><p>  接收q接h函数Q?/p><p>int accept(int s,struct sockaddr *addr,socklen_t *addrlen);</p><p>//参数s是由函数socket创徏Q经函数bindl定到本地某一端口上,然后通过函数listen转化而来的监听套接字</p><p>//参数addr用来保存发vq接h的主机的地址和端?/p><p>//参数addrlen是addr所指向的结构体的大?/p><p>  在TCP套接字上发送数据函敎ͼ</p><p>ssize_t send(int s,const void *msg,size_t len,int flags);</p><p>//函数只能对处于连接状态的套接字用,参数s为已建立好连接的套接字描q符Q即accept函数的返回?/p><p>//参数msg指向存放待发送数据的~冲?/p><p>//参数len为待发送数据的长度Q参数flags为控刉项Q一般设|ؓ0</p><p>  在TCP套接字上接收数据函数Q?/p><p>ssize_t recv(int s,void *buf,size_t len,int flags);</p><p>//函数recv从参数s所指定的套接字描述W(必须是面向连接的套接字)上接收数据ƈ保存到参数buf所指定的缓冲区</p><p>//参数len则ؓ~冲区长度,参数flags为控刉项Q一般设|ؓ0</p><p>  在UCP套接字上发送数据函敎ͼ</p><p>ssize_t sendto(int s,const void *msg,size_t len,int flags,const struct sockaddr *to,socklen_t tolen);</p><p>//函数功能与函数sendcMQ但函数sendto不需要套接字处于q接状态,所以该函数通常用来发送UDP数据Q同时因为是无连接的套接字,在用sendto旉要指定数据的目的地址Q参数msg指向待发送数据的~冲区?/p><p>//参数len指定了待发送数据的长度</p><p>//参数flags是控刉项Q含义与send函数中的一?/p><p>//参数to用于指定目的地址Q目的地址的长度由tolen指定</p><p>  在UDP套接字上接收数据函数Q?/p><p>ssize_t recvfrom(int s ,void *buf,size_t len,int flags,struct sockaddr *from,socklen_t *fromlen);</p><p>//与函数recv功能cMQ只是函数recv只能用于面向q接的套接字Q而函数recvfrom没有此限Ӟ可以用于从无q接的套接字上接收数?/p><p>//参数buf指向接收~冲?/p><p>//参数len指定了缓冲区的大?/p><p>//参数flags是控刉项Q含义与recv中的一?/p><p>//如果参数from非空Q且该套接字不是面向q接的,则函数recvfromq回Ӟ参数from中将保存数据的源地址</p><p>//参数fromlen在调用recvfrom前ؓ参数from的长度,调用recvfrom后将保存from的实际大?/p><p>  关闭套接字函敎ͼ</p><p>int close(int fd);</p><p>//参数fdZ个套接字描述W;</p><p>  函数 int shutdown(int s,int how) 功能与closecMQ但是shutdown功能更强大,它允许对套接字进行单向关闭或全部止Q参数s为待关闭的套接字描述W,参数how指定了关闭的方式。  </p><p>  inetpd函数用于|络地址的格式{换;获取和设|套接字属性函敎ͼ</p><p>int getsockopt(int s,int level,int optname,void *optval,cocklen_t *optlen);</p><p>int setsockopt(int s,int level,int optname,const void *optval,socklen_t optlen);</p><p>//参数sZ个套接字</p><p>//参数level是进行套接字选项操作的层?/p><p>//参数optname是套接字选项名称</p><p>//对于函数getsockoptQ参数opval用来存放获得的套接字选项Q参数optlen在调用函数前其gؓoptval指向的空间的大小Q调用完后则其gؓ参数optval所保存的结果的实际大小</p><p>//对于函数setsockoptQ参数optval是待讄的套接字选项的|参数optlen是选项的长?/p><p>  多\复用函数Q?/p><p>int select(int n,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout);</p><p>//参数n是需要监视的文g描述W数</p><p>//参数readfds指定需要监视的可读文g描述W集?/p><p>//参数writefds指定需要监视的可写文g描述W集?/p><p>//参数exceptfds指定需要监视的异常文g描述W的集合</p><p>//参数timeout指定了阻塞的旉</p><p>     |络~程中有很多新的概念和协议,要好好理解。还有一些系l定义的数据cdQ要了解q些数据cdQ方便用。其ơ是要掌握一些常用函数的功能及用方法,|络~程我刚刚开始接触,感觉跟前面有很大区别Q必进一步学习才能有所提高?/p><p><br/></p></div> </div> </div> </div> <div class="clear"></div> <div class="foot"> <div class="foot_menu"> <ul> <li><a href="/About/">关于我们</a></li> <li><a href="/Advantage/">开发优?/a></li> <li><a href="/Statement/">法律声明</a></li> <li><a href="/Remittance/">汇款方式</a></li> <li><a href="/Contact/">联系我们</a></li> </ul> </div> <div class="banquan"> 手机Q?8678812288 EQMail:1069706080@qq.com<br /> 地址Q山东省南市舜耕\泉城公园东门园内向北50c? 鲁ICP?7011972? 版权所?008Q?013 ׃赢d信息U技有限公司<script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "#/h.js%3F5fbc066dba9928a1e914c338c6945c98' type='text/javascript'%3E%3C/script%3E")); </script> </div> </div> <div style="position:fixed;left:-9000px;top:-9000px;"><dfn id="orz4q"><noscript id="orz4q"><xmp id="orz4q"><output id="orz4q"></output></xmp></noscript></dfn><strong id="orz4q"><dl id="orz4q"></dl></strong><ol id="orz4q"><p id="orz4q"><nav id="orz4q"><pre id="orz4q"></pre></nav></p></ol><dfn id="orz4q"></dfn><small id="orz4q"><optgroup id="orz4q"></optgroup></small><center id="orz4q"><small id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></small></center><table id="orz4q"><ruby id="orz4q"><dl id="orz4q"><del id="orz4q"></del></dl></ruby></table><rt id="orz4q"></rt><output id="orz4q"></output><mark id="orz4q"></mark><dl id="orz4q"></dl><div id="orz4q"></div><optgroup id="orz4q"></optgroup><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><video id="orz4q"></video><object id="orz4q"><sup id="orz4q"></sup></object><em id="orz4q"></em><div id="orz4q"></div><progress id="orz4q"><listing id="orz4q"><th id="orz4q"><option id="orz4q"></option></th></listing></progress><meter id="orz4q"></meter><acronym id="orz4q"><rt id="orz4q"></rt></acronym><label id="orz4q"></label><track id="orz4q"></track><noscript id="orz4q"><div id="orz4q"><pre id="orz4q"><ol id="orz4q"></ol></pre></div></noscript><s id="orz4q"><kbd id="orz4q"></kbd></s><form id="orz4q"></form><var id="orz4q"></var><dl id="orz4q"><strike id="orz4q"></strike></dl><xmp id="orz4q"><strike id="orz4q"><small id="orz4q"><samp id="orz4q"></samp></small></strike></xmp><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><progress id="orz4q"></progress></address></thead></listing><del id="orz4q"></del><object id="orz4q"><address id="orz4q"><samp id="orz4q"><rt id="orz4q"></rt></samp></address></object><ruby id="orz4q"></ruby><noframes id="orz4q"></noframes><code id="orz4q"></code><var id="orz4q"></var><nav id="orz4q"></nav><u id="orz4q"></u><span id="orz4q"></span><li id="orz4q"></li><tbody id="orz4q"><table id="orz4q"><span id="orz4q"><dl id="orz4q"></dl></span></table></tbody><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><var id="orz4q"></var><nav id="orz4q"></nav><rt id="orz4q"></rt><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><u id="orz4q"><s id="orz4q"></s></u><pre id="orz4q"><em id="orz4q"><p id="orz4q"><rp id="orz4q"></rp></p></em></pre><rt id="orz4q"><tr id="orz4q"></tr></rt> <pre id="orz4q"></pre><wbr id="orz4q"><rt id="orz4q"><tr id="orz4q"><output id="orz4q"></output></tr></rt></wbr><xmp id="orz4q"><pre id="orz4q"><em id="orz4q"><p id="orz4q"></p></em></pre></xmp><sub id="orz4q"></sub><p id="orz4q"></p><td id="orz4q"><tbody id="orz4q"></tbody></td><code id="orz4q"><video id="orz4q"><track id="orz4q"><tt id="orz4q"></tt></track></video></code><thead id="orz4q"></thead><source id="orz4q"><nobr id="orz4q"><cite id="orz4q"><td id="orz4q"></td></cite></nobr></source><del id="orz4q"></del><sub id="orz4q"></sub><code id="orz4q"></code><code id="orz4q"><menu id="orz4q"></menu></code><legend id="orz4q"><button id="orz4q"><source id="orz4q"><i id="orz4q"></i></source></button></legend><delect id="orz4q"></delect><ins id="orz4q"></ins><i id="orz4q"></i><pre id="orz4q"></pre><mark id="orz4q"></mark><b id="orz4q"><table id="orz4q"><strong id="orz4q"><noframes id="orz4q"></noframes></strong></table></b><source id="orz4q"></source><small id="orz4q"><optgroup id="orz4q"></optgroup></small><dl id="orz4q"></dl><center id="orz4q"><em id="orz4q"><track id="orz4q"><rp id="orz4q"></rp></track></em></center><address id="orz4q"></address><tt id="orz4q"><code id="orz4q"><nobr id="orz4q"><sub id="orz4q"></sub></nobr></code></tt><strong id="orz4q"></strong><delect id="orz4q"></delect><nobr id="orz4q"></nobr><strike id="orz4q"></strike><strong id="orz4q"></strong><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><menu id="orz4q"></menu><menu id="orz4q"></menu><small id="orz4q"><optgroup id="orz4q"></optgroup></small><input id="orz4q"><label id="orz4q"></label></input><big id="orz4q"><nobr id="orz4q"><track id="orz4q"><button id="orz4q"></button></track></nobr></big><sub id="orz4q"></sub><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><listing id="orz4q"><thead id="orz4q"><address id="orz4q"><wbr id="orz4q"></wbr></address></thead></listing><tbody id="orz4q"><table id="orz4q"></table></tbody><font id="orz4q"><mark id="orz4q"><meter id="orz4q"><tbody id="orz4q"></tbody></meter></mark></font><dl id="orz4q"><strike id="orz4q"><i id="orz4q"><samp id="orz4q"></samp></i></strike></dl><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><strong id="orz4q"><input id="orz4q"></input></strong><wbr id="orz4q"></wbr><legend id="orz4q"></legend><address id="orz4q"><progress id="orz4q"><noframes id="orz4q"><tr id="orz4q"></tr></noframes></progress></address><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><center id="orz4q"><ol id="orz4q"><noscript id="orz4q"><b id="orz4q"></b></noscript></ol></center> <u id="orz4q"><s id="orz4q"></s></u><u id="orz4q"><s id="orz4q"></s></u><output id="orz4q"></output><ruby id="orz4q"></ruby><wbr id="orz4q"></wbr><ins id="orz4q"></ins><s id="orz4q"><kbd id="orz4q"></kbd></s><b id="orz4q"></b><nobr id="orz4q"></nobr><strike id="orz4q"></strike><input id="orz4q"><label id="orz4q"></label></input><em id="orz4q"></em><form id="orz4q"></form><tbody id="orz4q"><table id="orz4q"><legend id="orz4q"><dl id="orz4q"></dl></legend></table></tbody><tr id="orz4q"></tr><dd id="orz4q"></dd><li id="orz4q"></li><code id="orz4q"></code><menu id="orz4q"><samp id="orz4q"></samp></menu><p id="orz4q"><rp id="orz4q"><u id="orz4q"><strong id="orz4q"></strong></u></rp></p><pre id="orz4q"><em id="orz4q"></em></pre><tbody id="orz4q"><table id="orz4q"></table></tbody><ol id="orz4q"><p id="orz4q"><label id="orz4q"><blockquote id="orz4q"></blockquote></label></p></ol><tr id="orz4q"><option id="orz4q"></option></tr><legend id="orz4q"></legend><p id="orz4q"><rp id="orz4q"><output id="orz4q"><strong id="orz4q"></strong></output></rp></p><menu id="orz4q"></menu><rt id="orz4q"></rt><rp id="orz4q"></rp><optgroup id="orz4q"></optgroup><del id="orz4q"></del><button id="orz4q"></button><rp id="orz4q"></rp><dfn id="orz4q"><font id="orz4q"><sub id="orz4q"><td id="orz4q"></td></sub></font></dfn><nav id="orz4q"><blockquote id="orz4q"></blockquote></nav><thead id="orz4q"><menuitem id="orz4q"><progress id="orz4q"><noscript id="orz4q"></noscript></progress></menuitem></thead><sup id="orz4q"><acronym id="orz4q"></acronym></sup><center id="orz4q"></center><font id="orz4q"></font><noscript id="orz4q"><div id="orz4q"></div></noscript><font id="orz4q"></font><wbr id="orz4q"><noscript id="orz4q"></noscript></wbr><meter id="orz4q"></meter><optgroup id="orz4q"><xmp id="orz4q"><big id="orz4q"><em id="orz4q"></em></big></xmp></optgroup><nav id="orz4q"></nav><input id="orz4q"><label id="orz4q"><menuitem id="orz4q"><progress id="orz4q"></progress></menuitem></label></input><address id="orz4q"></address><dl id="orz4q"></dl><progress id="orz4q"></progress><video id="orz4q"></video></div> <a href="http://www.themmauniversity.com/">պƷһAV_aŷպƷ_Ů߳ڵѿ_ŷƷһһ</a> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body> </html>