E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LINUX网络编程
Linux网络编程
---服务器端基本框架
/*服务器 话机:socket 绑定:bind 多路:listen 等待:accept 接通:新socket 总机等别的电话,分机跟客户通信 通信:write/read 挂断分机:close */ #include #include #include #include #include #include #include #include #include structParam { intfc;
dhm166
·
2014-05-25 13:00
Linux网络编程
的基础
说明:本文转自http://blog.csdn.net/voipmaker/article/details/6207465端口号常识: 端口号被从1开始分配。 通常端口号超出255的部分被本地主机保留为私有用途。 1到255之间的号码被用于远程应用程序所请求的进程和网络服务。 每个网络通信循环地进出主计算机的TCP应用层。它被两个所连接的号码唯一地识别。这两个号码合起来叫做套接字.
JXH_123
·
2014-05-20 10:00
Linux网络编程
:UDP实现可靠的文件传输
我们知道,用TCP实现文件传输很简单。相对于TCP,因为UDP是面向无连接、不可靠的传输协议,所以我们需要考虑丢包和后发先至(包的顺序)的问题,所以我们想要实现UDP传输文件,则需要解决这两个问题。方法就是给数据包编号,按照包的顺序接收并存储,接收端接收到数据包后发送确认信息给发送端,发送端接收确认数据以后再继续发送下一个包,如果接收端收到的数据包的编号不是期望的编号,则要求发送端重新发
lisong694767315
·
2014-05-17 22:00
tcp
网络编程
UDP
文件传输
Linux网络编程
fork() 和 exec() 函数实例分析
Linux进程在内存里有三部分数据:代码段,堆栈段,数据段。相应的CPU都有上述三种寄存器,以方便操作系统运行,这三部分也是构成一个完整执行序列的必要部分:代码段-存放程序代码的数据堆栈段-存储子程序返回地址、子程序参数以及程序局部变量数据段-存放程序全局变量,常数以及动态数据分配的数据空间 Linux环境下,有两个基本的操作用于创建和修改进程,函数fork()创建一个新的进程,是当前进程的一
gujinjin2008
·
2014-05-14 22:00
Linux网络编程
:客户端/服务器的简单实现
原文链接:http://www.cnblogs.com/wangfx91/p/3725252.html一、Socket的基本知识1.socket功能Socket层次Socket实质上提供了进程通信的端点,进程通信之前,双方必须首先各自创建一个端点,否则是没有办法建立联系并相互通信的。每一个Socket都一个半相关描述:{协议,本地地址,本地端口}完整的Socket的描述:{协议,本地地址,本地端口
dengtangxie6311
·
2014-05-13 12:00
linux epoll使用详解
在
linux网络编程
中,很长一段时间都是采用select来实现多事件触发处理的。
lichao19881026
·
2014-05-12 11:00
Linux网络编程
:UDP Socket编程范例
TCP协议提供的是一种可靠的,复杂的,面向连接的数据流(SOCK_STREAM)传输服务,它通过三段式握手过程建立连接。TCP有一种“重传确认”机制,即接收端收到数据后要发出一个肯定确认的信号,发送端如果收到接收端肯定确认的信号,就会继续发送其他的数据,如果没有,它就会重新发送。 而UDP协议是一种无连接的,不可靠的数据报(SOCK_DGRAM)传输服务。使用UDP套接口不用建
lisong694767315
·
2014-05-11 23:00
tcp
通信
网络编程
UDP
Linux 高性能服务器编程——
Linux网络编程
基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了
Linux网络编程
基础API与内核中TCP/IP协议族之间的关系。
ctthunagchneg
·
2014-05-07 19:00
linux网络编程
中INADDR_ANY的含义
INADDR_ANY选项 网络编程中常用到bind函数,需要绑定IP地址,这时可以设置INADDR_ANY INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 也就是表示本机的所有IP,因为有些机子不止一块网卡,多网卡的情况下,这个就表示所有网卡ip地址的意思。 比如一台电脑有3块网卡,分别连接三个网络,那么这台电脑就有3个
scottly1
·
2014-04-24 15:00
bind
网络编程
网卡
转载的几篇网络编程的好文章
Linux环境下网络编程杂谈
Linux网络编程
:基于TCP的程序开发回顾篇
Linux网络编程
:基于UDP的程序开发回顾篇
Linux网络编程
:原始套接字的魔力【上】
Linux网络编程
:原始套接字的魔力
kankan231
·
2014-04-18 22:00
tcp
网络编程
UDP
SOCKET API和TCP STATE的对应关系__三次握手(listen,accept,connect)__四次挥手close及TCP延迟确认(调用一次setsockopt函数,设置TCP_QUI
http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520118139252103/在我们学习网络基础时,传输层的协议有TCP和UDP;在
Linux
l1258914199
·
2014-04-14 20:00
Linux网络编程
必看书籍--经典权威推荐
首先要说讲述计算机网络和TCP/IP的书很多。先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属AndrewS.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而linux就是受其影响。。。。第五版是201
hzhsan
·
2014-04-14 06:00
linux
tcpip
unix网络编程
linux编程网络
[置顶] 浅谈原始套接字 SOCK_RAW 的内幕及其应用(port scan, packet sniffer, syn flood, icmp flood)
[置顶] 浅谈原始套接字SOCK_RAW的内幕及其应用(portscan,packetsniffer,synflood,icmpflood)分类:
linux网络编程
2013-10-0716:30 1023
pi9nc
·
2014-04-10 14:00
Linux网络编程
Linux网络编程
:原始套接字的魔力【续】
如何从链路层直接发送数据帧本来以为这部分都弄完了,结果有朋友反映说看了半天还是没看到如何从链路层直接发送数据。因为上一篇里面提到的是从链路层“收发”数据,结果只“收”完,忘了“发”,实在抱歉,所以就有这篇续出来了。上一节我们主要研究了如何从链路层直接接收数据帧,可以通过bind函数来将原始套接字绑定到本地一个接口上,然后该套接字就只接收从该接口收上来的对应的数据包。今天我们用原始套接字来手工实现链
wang_xya
·
2014-04-01 10:25
linux
TCP/IP
c语言
Linux网络编程
:socket文件传输范例
基于TCP流协议的socket网络文件传输Demo:实现:C语言功能:文件传输(可以传任何格式的文件)/************************************************************************* >FileName:Server.c >Author:SongLee >E-mail:
[email protected]
>CreatedTim
lisong694767315
·
2014-03-31 23:00
网络编程
Linux网络编程
基础_6_应用层(下)--E-mail,WWW(大结局)
应用层(下)--E-mail,WWW一、E-mail/电子邮件系统1、电子邮件系统的组成结构 1)MTS(MessageTansferSystem),邮件传输系统。 2)UA(UserAgent),用户代理 用户代理UA就是用户与电子邮件系统的接口软件,如软件outlook、express、foxmail等。用户代理的功能是:撰写、显示和处理邮件。 3)MTA(MessageTransfe
280441589
·
2014-03-18 20:00
计算机网络
www
tcpip
e-mail
应用层
Linux网络编程
基础_6_应用层(上)--网络应用模型,DNS,FTP
应用层(上)--网络应用模型,DNS,FTPTCP/IP协议族中的应用层一、网络应用模型在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:1.客户/服务器模型 客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。 客户软件被用户调用后运行,在打算通信时首先主动向
280441589
·
2014-03-18 19:00
ftp
dns
计算机网络
应用层
网络应用模型
Linux网络编程
中socket常见错误分析
socket错误码: EINTR:4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interruptedsystemcall,操作也应该继续。如果recv的返回值为0,那表明连接已经断开,接收操作也应该结束。 ETIMEOUT:1101
yusiguyuan
·
2014-03-18 14:00
c
网络编程
Linux网络编程
基础_5_传输层(下)--TCP协议
传输层--TCP协议一、TCP概述 传输控制协议(TransmissionControlProtocol)TCP是一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transportlayer)通信协议。TCP在IP报文的协议号是6。二、TCP数据段1、源端口和目的端口字段:各占2字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。2、序号字段:占4字节。TC
280441589
·
2014-03-17 19:00
计算机网络
三次握手
传输层
tcp协议
四次挥手
Linux网络编程
基础_5_传输层(中)--UDP协议
传输层--UDP协议一、UDP(UserDatagramProtocol)概述UDP只在IP的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。虽然UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有其特殊的优点。但是在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有
280441589
·
2014-03-17 10:00
tcp
UDP
计算机网络
特点
传输层
Linux网络编程
基础_5_传输层(上)--传输层概述
传输层--传输层概述一、概述 从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 传输层为相互通信的应用进程提供了逻辑通信1、应用进程之间的通信 两个主机进行通信实际上就是两个主机中的应用进程互相通信。 应用进程之间的通信又称为端到端的通信。 传输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同
280441589
·
2014-03-17 08:00
socket
概述
计算机网络
传输层
TCP与UDP
Linux网络编程
基础_4_网络层(六)--移动IP与网络层设备
网络层(六)--移动IP与网络层设备一、移动IP1、定义最简单的说,移动IP技术就是让计算机在互联网及局域网中不受任何限制的即时漫游,也称移动计算机技术。专业一点的解释,移动IP技术是移动节点(计算机/服务器/网段等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。移动IP的这一特性特别适用于无线通信网络,因为只有无线网络中的通信设备能够
280441589
·
2014-03-16 19:00
ipv4
计算机网络
网络层
移动IP
Linux网络编程
基础_4_网络层(五)--路由协议与IP组播
网络层(五)--路由协议与IP组播一、路由协议1、自治系统自治系统是由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合。AS内部运行内部网关协议(IGP),AS之间运行外部网关协议(EGP)。2、内部网关协议与外部网关协议根据是否在一个自治系统(AutonomousSystem,AS)内部使用,路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治系统指具有统一管理机构、
280441589
·
2014-03-16 14:00
计算机网络
路由协议
网络层
ospf
IP组播
Linux网络编程
基础_4_网络层(三)--IPv4(下)
网络层(三)--IPv4(下)一、子网掩码、子网划分、CIDR1.子网划分Internet组织机构定义了五种IP地址,用于主机的有A、B、C三类地址。子网地址是借用基于类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。IP地址 ::={,,}没有划分子网之前,IP地址是两级的,划分之后,IP地址成为三级结构。2.子网掩码RFC950定
280441589
·
2014-03-16 08:00
ipv4
ARP
计算机网络
ICMP
tcpip
Linux网络编程
基础_4_网络层(二)--IPv4(上)
网络层(二)--IPv4(上)一、IP数据包格式[IPv4分组]IP数据包是网络传输的信封,它说明了数据发送的源地址和目的地址,以及数据传输状态。一个完整的数据包由首部和数据两部分组成。首部前20字节属于固定长度,是所有IP数据包必须有的,后面是可选字段,其长度可变,首部后面是数据包携带的数据,见下图。1、版本(4bit)IP协议版本已经经过多次修订,1981年的RFC0791描述了IPV4,RC
280441589
·
2014-03-15 20:00
NAT
IP地址
tcpip
网络层
计算机网路
Linux网络编程
基础_4_网络层(一)
网络层(一)一、网络层的功能1、异构网络互联所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。使用IP协议的虚拟互连网络可简称为IP网。2、路由与转发3、拥塞控制二、路由算法1、静态路由与动态路由2、距离-向量路由算法距离-向量路由算法(Bellman-FordRoutin
280441589
·
2014-03-15 17:00
路由器
计算机网络
tcpip
网络层
Linux网络编程基础
处理大并发之四 libevent demo详细分析(对比epoll)
处理大并发之四libeventdemo详细分析(对比epoll)分类:
linux网络编程
2013-07-1820:07 2095人阅读 评论(1) 收藏 举报大并发处理libevent服务端自己维护缓冲区处理大并发之四
pi9nc
·
2014-03-11 19:00
linux
linux
网络编程
网络编程
处理大并发之三 对libevent的初步认识
处理大并发之三对libevent的初步认识分类:
linux网络编程
2013-07-1721:11 924人阅读 评论(0) 收藏 举报处理大并发之三对libevent的初步认识首先翻译下http://
pi9nc
·
2014-03-11 19:00
linux
网络编程
处理大并发之二 对epoll的理解,epoll客户端服务端代码
处理大并发之二对epoll的理解,epoll客户端服务端代码分类: C++编程
linux网络编程
2013-07-1620:25 1589人阅读 评论(1) 收藏 举报大并发处理epoll客户端服务端代码网络编程目录
pi9nc
·
2014-03-11 19:00
linux
网络编程
C++编程
【
Linux网络编程
笔记】TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—基础知识篇
最近遇到一个线上报警:服务器出现大量TIME_WAIT导致其无法与下游模块建立新HTTP连接,在解决过程中,通过查阅经典教材和技术文章,加深了对TCP网络问题的理解。作为笔记,记录于此。 备注:本文主要介绍TCP编程中涉及到的众多基础知识,关于实际工程中对由TIME_WAIT引发的不能建立新连接问题的解决方法将
wangxiaoxu
·
2014-03-11 17:00
linux
linux网络编程
之-----多播(组播)编程(转)
什么是多播 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。 多播,也称为“组播”,将局域网中同一业务类型主机进行了逻辑上的分组,进行数据收发的时候其数据仅仅在同一分组中进
Season_hangzhou
·
2014-03-05 16:00
linux网络编程
之socket(一):socket概述和字节序、地址转换函数
http://blog.csdn.net/jnu_simba/article/details/9012521一、什么是socketsocket可以看成是用户进程与内核网络协议栈的编程接口。socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。socketAPI是一层抽象的网络编程接口,适用于各种底层网络协议,如IPv4、IPv6,以及以后要讲的UNIXDomainSock
cjsycyl
·
2014-03-05 10:00
linux网络编程
--TCP分包 粘包 MTU 和MSS之间的关系分析
其实在以前的文章中介绍了和这个话题相关的文章,TCP封包。这里还想继续回顾想以前的内容,把不明白的东西弄明白: IP分片在以太网上,由于电气限制,一帧不能超过1518字节,除去以太网帧头14字节(mac地址等)和帧尾4字节校验,还剩1500字节,这个大小称为MTU(最大传输单元)。如果你的IP包大于1500字节,IP层就会分片了。而1492的MTU值的来源,是因为PPPoE协议。PPP
yusiguyuan
·
2014-03-04 19:00
网络应用
网络编程
Linux网络编程
基础_3_数据链路层(下)
数据链路层(下)五、介质访问控制1、信道划分介质访问控制频分多路复用FDM、时分多路复用TDM、波分多路复用WDM、码分多路复用CDM。多路复用技术就是把许多个单个信号在一个信道上同时传输的技术。频分多路复用FDM和时分多路复用TDM是两种最常用的多路复用技术。但是,时分复用可能会造成线路资源的浪费。2、随机访问介质访问控制1)ALOHA协议【现在很少使用】纯ALOHA基本思想:是用户有帧即可发送
280441589
·
2014-03-04 17:00
数据
网络编程
局域网
计算机网络
数据链路层
Linux网络编程
基础_3_数据链路层(上)
数据链路层(上)一、数据链路层的功能链路层的主要功能包括链路管理、帧同步、流量控制、差错控制、数据和控制信息分开、透明传输和寻址。数据链路层传输的是数据帧。MTU:数据链路层的数据帧长;SOH:帧开始字符;EOT:帧结尾字符;二、如何解决传输过程中的“透明传输”?1、零比特填充基本原理:将需要传输的数据块看作比特序列,在数据块前和后各加入一个特殊的比特序列(前文位模式和后文位模式,01111110
280441589
·
2014-03-04 12:00
网络编程
流量控制
计算机网络
差错控制
数据链路层
linux网络编程
--TCP/IP网络编程中socket的行为
熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉:1.TCP/IP协议(如连接的建立和终止、重传和确认、滑动窗口和拥塞控制等等)2.SocketI/O系统调用(重点如read/write),这是TCP/IP协议在应用层表现出来的行为。3.编写Performant,Scalable的服务器程序。包括多线程、IOMultiplexing、非阻塞、异步等各种技术。关于TCP/I
yusiguyuan
·
2014-03-03 09:00
c
网络编程
Linux网络编程
基础_2_物理层
物理层一、奈奎斯特定理与香农定理1、奈奎斯特(Nyquist)无噪声下的码元速率极限值B与信道带宽H的关系:最大数据传输率B=2*H(Baud)2、奈奎斯特公式―无噪信道传输能力公式:C=2*H*log2N(bps)式中H为信道的带宽,即信道传输上、下限频率的差值,单位为Hz;N为一个码元所取的离散值个数。3、香农公式―带噪信道容量公式:C=H*log2(1+S/N)(bps)式中S为信号功率,N
280441589
·
2014-03-02 17:00
计算机网络
物理层
数据报
香农公式
分组交换
Linux网络编程
基础_1_计算机网络体系结构
计算机网络体系结构一、计算机网络的标准化工作及相关组织国际上制定通信协议和标准的组织1、IEEE:制定了局域网,无线局域网2、ISO:网络参考模型3、ITU:制定了通信相关的概念二、计算机网络体系结构与参考模型1、计算机网络分层结构对于非常复杂的计算机网络协议,最好的方法是采用分层式结构。每一层关注和解决通信中的某一方面的规则。各层之间是独立的,灵活性好,结构上可以分开,易于实现和维护,促进标准化
280441589
·
2014-03-01 10:00
网络协议
网络编程
计算机网络
tcpip
分层结构
Linux网络编程
必看书籍推荐
http://blog.csdn.net/21aspnet/article/details/6694485首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属AndrewS.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出M
cjsycyl
·
2014-02-27 10:00
linux网络编程
中,几个常用API的阻塞与非阻塞调用
阻塞socket和非阻塞socket读操作对于阻塞的socket,当socket的接收缓冲区中没有数据时,read调用会一直阻塞住,直到有数据到来才返回。当socket缓冲区中的数据量小于期望读取的数据量时,返回实际读取的字节数。当sockt的接收缓冲区中的数据大于期望读取的字节数时,读取期望读取的字节数,返回实际读取的长度。对于非阻塞socket而言,socket的接收缓冲区中有没有数据,rea
dreamvyps
·
2014-02-26 23:00
Linux网络编程
--初等网络函数介绍(TCP)
Linux网络编程
--初等网络函数介绍(TCP) Linux系统是通过提供套接字(socket)来进行网络编程的.网络程序通过socket和其它几个函数的调用,会返回一个通讯的文件描述符,我们可以将这个描述符看成普通的文件的描述符来操作
bfajs12
·
2014-02-26 14:00
Linux网络编程
经典书籍
首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属AndrewS.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而linux就是受其影响。。。。 第五版是2
simanstar
·
2014-02-25 22:00
linux
网络编程
计算机科学
linux内核
linux网络编程
(一)
Linux网络编程
--网络知识介绍
Linux网络编程
--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.客户端
cherish_2012
·
2014-02-23 14:00
linux scoket 由浅入深系列-------- 详解(四)
声明:本文参考主要有
linux网络编程
和网络文章(吴秦)那什么是socket?socket的类型有哪些?还有socket的基本函数,下面我将一一介绍!
u010236550
·
2014-02-22 11:00
服务器编程入门(4)
Linux网络编程
基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了
Linux网络编程
基础API与内核中TCP/IP协议族之间的关系。
zs634134578
·
2014-02-20 10:00
linux
通信
服务器
网络编程
高性能
Linux网络编程
(第2版)
《
Linux网络编程
(第2版)》共分4篇。
请叫我院长
·
2014-02-19 13:00
网络编程fhd的基础学习一
并以后在不断的整理学习,以到达融会贯通的境界,:)刚看了篇文章:http://www.cnblogs.com/duzouzhe/archive/2009/06/19/1506699.html,吸收总结下:(一)
Linux
hhh3h
·
2014-02-18 17:00
网络编程
linux epoll使用详解
在
linux网络编程
中,很长一段时间都是采用select来实现多事件触发处理的。
xiaot99
·
2014-02-07 10:00
epoll
linux io模型
转自:http://blog.csdn.net/jjdiaries/article/details/16357313在
linux网络编程
【1-3】中,我们编写的网络程序仅仅是为了了解网络编程的基本步骤,
xtf__moji
·
2014-01-29 17:27
linux
linux io模型
转自:http://blog.csdn.net/jjdiaries/article/details/16357313在
linux网络编程
【1-3】中,我们编写的网络程序仅仅是为了了解网络编程的基本步骤,
GoOnDrift
·
2014-01-29 17:00
上一页
26
27
28
29
30
31
32
33
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他