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网络编程
4——网络编程基础2
学习视频链接黑马程序员-
Linux网络编程
_哔哩哔哩_bilibili黑马程序员黑马程序员-
Linux网络编程
,视频播放量241433、弹幕量7600、点赞数1627、投硬币枚数744、收藏人数9498
herb.dr
·
2023-10-13 17:10
linux
网络
服务器
运维
【网络编程】
Linux网络编程
基础与实战第一弹——网络基础
这里写目录标题网络基础什么是协议典型协议分层模型OSI七层模型TCP/IP四层模型网络应用程序设计模式优缺点具体体现:网络基础什么是协议从应用的角度出发,协议可理解为“一组规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:第一次,传输文件名,接收方接收到文件名,应答OK给传输方;第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;第三次,传输文件内容。同样,接收方接收
洁洁!
·
2023-10-13 17:06
Linux网络编程
网络
linux
运维
Linux网络编程
——Select机制
一、select的工作机制select,是基于内核函数sys_poll实现的,有文件描述符(1024)的限制,大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,开销随着文件描述符数量的增加而线性增大。(大量并发,少量活跃率较低)应用层与内核的交互如下图:select需要驱动程序的支持,驱动程序实现fops内的poll函数。select通过每个设备文件对应的poll函数提供的信息判断当前是
恒者走天下
·
2023-10-13 09:56
linux
网络
Day4:Linux系统编程1-60P
我的学习方法是:Linux系统编程(看pdf笔记)+
Linux网络编程
+WebServer01P-17PLinux相关命令及操作cp-adirname1dirname2复制目录cp-rdirname1dirname2
QHG7C0
·
2023-10-12 23:08
linux
27.
Linux网络编程
socket变成 tcp 高并发 线程池 udp
好,咱们开始上课了,从今天开始咱们连续讲8天的,网络编程这个还是在linux环境下去讲,咱们先看一下咱们这8天都讲什么东西,跟大家一块来梳理一下,你先有个大概的印象,这些你也不要记,那么网络编程一共有8天的课,是吧?那么其中前5天咱们都讲Linux的网络编程的基础课程,基础大概前三天是概念加编程,那么概念会给大家每天都会提到一些,因为这个概念较多,一些理论性的东西比较多,所以咱们给它拆分开了,咱不
chezabo6116
·
2023-10-12 23:49
linux
运维
服务器
C++笔记--
Linux网络编程
(15-0)-socket(供自查,文档说明)
目录网络基础协议的概念什么是协议典型协议网络应用程序设计模式C/S模式B/S模式优缺点分层模型OSI七层模型TCP/IP四层模型通信过程协议格式数据包封装以太网帧格式ARP数据报格式IP段格式UDP数据报格式TCP数据报格式TCP协议TCP通信时序滑动窗口(TCP流量控制)TCP状态转换半关闭2MSLTCP异常断开网络名词术语解析路由(route)路由器工作原理路由表(RoutingTable)路
xiangjai
·
2023-10-12 08:29
c/c++
Linux网络编程
-UDP单播服务客户端代码实现
目录一、UDP单播介绍1.UDP介绍2.单播简介3.单播的优点:4.单播的缺点:二、UDP单播编程1.创建套接字-socket2.发送数据-sendto3.绑定-bind4.接受数据-recvfrom三、UDP单播服务端代码实现1.代码分析2.运行结果3.UDP单播服务器注意点四、UDP单播服务端代码实现1.代码分析2.运行结果3.UDP单播客户端注意点一、UDP单播介绍1.UDP介绍UDP协议进
ProYuan28
·
2023-10-12 07:18
linux网络编程
UDP单播
linux网络编程
Linux网络编程
- 开启混杂模式(PROMISC)的两种方式
以下两种方式都是用于开启混杂模式,但它们的工作方式略有不同。使用ioctl和IFF_PROMISC的方法:这种方法直接操作网络接口,设置它为混杂模式。使用ioctl系统调用和网络接口配置请求SIOCGIFFLAGS(获取接口标志)和SIOCSIFFLAGS(设置接口标志)。当这种混杂模式被设置时,我们会看到接口的标志(例如,通过ifconfig或ip命令)中有PROMISC。使用这种方法开启的混杂
青衫客36
·
2023-10-12 03:28
Linux
工程化C
linux
网络
linux网络编程
组播,
linux网络编程
(组播)
\n",argv[0]);exit(EXIT_FAILURE);}//1.创建报文套接字sockfd=socket(AF_INET,SOCK_DGRAM,0);if(-1==sockfd){perror("Failtosocket.");exit(EXIT_FAILURE);}//加入组mreq.imr_multiaddr.s_addr=inet_addr(argv[1]);mreq.imr_in
weijie.tong
·
2023-10-12 02:57
linux网络编程组播
【
Linux网络编程
(四)】多播编程流程
文章目录多播1多播的特点:2多播地址3多播的工作流程4加入或退出多播组多播套接口选项ip_mreq{}多播地址结构体5多播流程代码5.1多播发送端5.2多播接收端千峰物联网___网络编程___广播多播数据的收发仅仅在同一分组中进行1多播的特点:1、多播地址标示一组接口2、多播可以用于广域网使用3、在IPv4中,多播是可选的2多播地址IPv4的D类IP地址是多播地址十进制:224.0.0.1~239
Eiker_3169
·
2023-10-12 02:18
Linux网络编程
udp
网络
linux
【
Linux网络编程
】
文章目录一.Linux的网络模型1.网络模型概述2.Linux网络协议栈包含的网络协议3.
Linux网络编程
模型4.socket套接字编程模型二.UDP编程1编程准备-字节序、地址转换1.1字节序概述1.2htonl
Eiker_3169
·
2023-10-12 02:17
Linux网络编程
udp
tcp
网络协议
网络
Linux网络编程
- struct packet_mreq & setsockopt()
structpacket_mreqstructpacket_mreq是一个数据结构,用于Linux中的原始数据包套接字,当我们想改变套接字的行为以接收特定类型的数据包时,它与setsockopt()函数配合使用。下面是structpacket_mreq的定义:structpacket_mreq{intmr_ifindex;//Interfaceindexofthenetworkdeviceunsi
青衫客36
·
2023-10-12 02:15
Linux
工程化C
linux
网络
深入解析select、poll、epoll:
Linux网络编程
的三种IO模型
文章目录IO模型的分类多路复用型IO的分类selectselect系统调用缺点pollpoll系统调用缺点epollepoll系统调用epoll模型优点LT模式与ET模式IO模型的分类大家都知道,一个完整的IO操作所花费的时间在计算机中是非常多的(速度非常慢),那么这些时间都花费在哪里呢?IO=等待数据就绪+数据拷贝而等待数据就绪所花费的时间占了整个IO时间的99%,数据拷贝所花费的时间仅占1%。
云朵c
·
2023-10-12 02:38
linux
网络
运维
【Linux Network】序列化和反序列化
目录1.序列化和反序列化的简单介绍2.使用json组件完成数据的序列化和反序列化1.安装jsoncpp组件2.序列化3.反序列化
Linux网络编程
✨1.序列化和反序列化的简单介绍序列化:将一个结构体数据转化为字符串数据
瞳绣
·
2023-10-11 03:25
Linux网络编程
linux
Linux网络编程
中常用的字符串相关的函数
Linux网络编程
中常用的字符串相关的函数1、strpbrk函数2、strcasecmp函数3、strncasecmp函数4、strspn函数5、strchr函数6、strncpy函数7、strstr函数
Wtfstorms
·
2023-10-08 08:33
Linux
C++
开发语言
Linux网络编程
- recvfrom() & sendto()
recvfrom()recvfrom()函数是一个系统调用,用于从套接字接收数据。该函数通常与无连接的数据报服务(如UDP)一起使用,但也可以与其他类型的套接字使用。与简单的recv()函数不同,recvfrom()可以返回数据来源的地址信息。函数原型为:ssize_trecvfrom(intsockfd,void*buf,size_tlen,intflags,structsockaddr*src
青衫客36
·
2023-10-08 02:08
工程化C
Linux
linux
网络
Linux网络编程
- 原始套接字(Raw Socket)
基本概念原始套接字(RawSocket)提供了一种机制,允许应用程序直接访问底层传输协议,绕过操作系统提供的传输层接口。这种套接字通常用于实现新的协议或对现有协议进行低级别的操作。以下是对原始套接字的详细介绍:定义与用途:原始套接字是直接基于网络层(如IP)的。当使用原始套接字发送数据时,应用程序负责构建完整的协议头。它常常被用于构造和发送自定义的IP包,如在ping、traceroute等工具中
青衫客36
·
2023-10-08 02:07
Linux
工程化C
linux
网络
【
Linux网络编程
】select函数实现TCP并发服务器
I/O多路复用•应用程序中同时处理多路输入输出流,若采用阻塞模式,将得不到预期的目的;•若采用非阻塞模式,对多个输入进行轮询,但又太浪费CPU时间;•若设置多个进程,分别处理一条数据通路,将新产生进程间的同步与通信问题,使程序变得更加复杂;•比较好的方法是使用I/O多路复用。其基本思想是:–先构造一张有关描述符的表,然后调用一个函数。当这些文件描述符中的一个或多个已准备好进行I/O时函数才返回。–
imysy_22_
·
2023-10-07 20:15
tcp/ip
网络
网络协议
linux
运维
linux网络编程
Libcurl库libcurl库:支持跨平台的网络协议库开发Libcurl库安装在网上找压缩包类似于:curl-7.71.1.tax.gz然后解压完后可以看到根目录下有一个文件INSTALL,一般开源包文件夹都包含了这个文件,这个文件是告诉我们怎么去安装这个库的如果根目录找不到这个文件,那可能在docs文件夹里面。安装开源库./configure--prefix=/PWD/_install#指定安
房东的哈士奇
·
2023-10-07 19:46
linux
网络
arm开发
Linux网络编程
5-epoll模型
Linux网络编程
5-epoll模型1.epoll相关函数2.epoll服务器流程3.epoll服务器代码实现4.LT模式与ET模式5.ET模式一次性读完数据的实现6.epoll反应堆思想7.epoll
shlyyy
·
2023-10-07 03:00
Linux网络编程
Linux网络编程
C
C++
Linux网络编程
4-poll模型
Linux网络编程
4-poll模型1.poll函数说明2.poll服务器端流程3.poll服务器代码实现1.poll函数说明intpoll(structpollfd*fds,nfds_tnfds,inttimeout
shlyyy
·
2023-10-07 03:59
Linux网络编程
Linux网络编程
C
C++
Linux网络编程
系列之TCP协议编程
一、什么是TCP协议TCP(TransmissionControlProtocol)协议是一种面向连接的、可靠的、基于字节流的传输控制协议,属于传输层。TCP协议可以通过错误检测、重传丢失的数据包、流量控制、拥塞控制等方式来实现可靠传输,同时也具有较好的效率和速度。二、特性1、面向连接:TCP协议是一种面向连接的协议,需要在数据传输前先建立连接,传输完成后再释放连接。2、可靠传输:TCP协议通过序
Great Macro
·
2023-10-06 21:33
Linux
C语言程序设计
c语言
linux
Linux网络编程
-UDP协议详解
目录一、UDP的概述二、UDP的首部格式三、UDP校验一、UDP的概述UDP(UserDatagramProtocol,用户数据报协议)是传输层的协议,功能即为在IP的数据报服务之上增加了最基本的服务:复用和分用以及差错检测,UDP提供不可靠服务,具有TCP所没有的优势。优势:1.UDP无连接,时间上不存在建立连接需要的时延;2.空间上,TCP需要在端系统中维护连接状态,需要一定的开销,此连接装入
ProYuan28
·
2023-10-06 16:33
linux网络编程
linux网络编程
UDP
Linux网络编程
——UDP编程
文章目录前言一、udp编程相关函数1、socket函数2、bind函数3、sendto函数4、recvfrom函数5、close函数二、实际案例总结前言1、UDP通信协议,服务器端和客户端无需建立连接,只需要知道对方套接字的地址信息就可以发送数据2、UDP通信流程图:一、udp编程相关函数1、socket函数功能:创建套接字并返回套接字描述符头文件:#include函数原型:intsocket(i
Conspicuous.
·
2023-10-06 16:33
网络编程
udp
网络
linux
linux网络编程
之:UDP数据包格式
UDP数据报格式有首部和数据两个部分。首部很简单,共8字节。包括:◆源端口(SourcePort):2字节,源端口号。◆目的端口(DestinationPort):2字节,目的端口号。◆长度(Length):2字节,UDP用户数据报的总长度,以字节为单位。◆检验和(Checksum):2字节,用于校验UDP数据报的数字段和包含UDP数据报首部的“伪首部”。其校验方法同IP分组首部中的首部校验和。伪
用户昵称23
·
2023-10-06 16:31
java
udp
网络
linux
开发语言
servlet
Linux网络编程
_04_传输层UDP和TCP协议详解
Linux网络编程
总目录(点击下面链接即可到达对应章节)
Linux网络编程
_01_网络基础
Linux网络编程
_02_socket套接字
Linux网络编程
_03_应用层HTTP协议
Linux网络编程
_04
柿子__
·
2023-10-06 16:00
Linux网络编程
网络
udp
tcp/ip
计算机网络
传输层
Linux网络编程
系列之UDP协议
一、什么是UDP协议UPD协议(UserDatagramProtocol,用户数据报协议)是Internet协议族中的一个无连接协议,属于传输层,它不保证数据传输的可靠性或完整性,只是把应用程序发给网络层的数据封装成数据包进行传输。二、特性1、无连接性:UDP协议不需要在发送数据之前建立连接,也不需要在传输过程中维持连接状态。2、数据报式:UDP协议把应用程序发送的数据封装成报文(数据报)进行传输
Great Macro
·
2023-10-06 16:00
Linux
C语言程序设计
c语言
linux
Linux网络编程
2-多进程和多线程版本服务器
Linux网络编程
2-多进程和多线程版本服务器1.套接字相关函数的封装wrap.hwrap.c2.支持多并发的服务器3.多进程版本分析4.多进程版本实现5.多线程版本分析6.多线程版本实现1.套接字相关函数的封装
shlyyy
·
2023-10-05 18:58
Linux网络编程
Linux网络编程
C
C++
Linux网络编程
3-select模型
Linux网络编程
3-select模型1.select函数2.使用select模型-服务器端开发流程3.select服务器代码4.select优缺点1.select函数#includeintselect
shlyyy
·
2023-10-05 18:58
Linux网络编程
Linux网络编程
Linux网络编程
1-简单的CS通信程序
Linux网络编程
1-简单的CS通信程序1.Socket相关API说明1.1字节序转换函数:用于ip和port转换1.2sockaddr结构1.3socket函数以及两个队列1.4bindlistenconnectaccept1.5
shlyyy
·
2023-10-05 18:25
Linux网络编程
c++
C
Linux网络编程
Linux网络编程
:详解HTTP协议
目录一.认识URL1.1URL的概念及格式1.2URL编码和解码二.http的请求和响应信息三.建立简单的http通信四.http协议内容解读4.1http方法4.2http状态码4.3http常见的header五.会话管理六.总结一.认识URL1.1URL的概念及格式我们通常使用网址来访问一个网址,URL就是我们常说的网址。图1.1URL的本质URL的通用格式见图1.2,真正在使用URL访问网站
【Shine】光芒
·
2023-10-04 21:12
Linux系统和网络
linux
网络协议
网络安全
Linux网络编程
:详解https协议
目录一.https协议概述二.中间人截获三.常见的加密方法3.1对称加密3.2非对称加密四.数据摘要和数据签名的概念五.https不同加密方式的安全性的探究5.1使用对称加密5.2使用非对称加密5.3非对称加密和对称加密配合使用六.CA认证七.总结一.https协议概述在早期的网络中,传输数据一般采用http协议。但是,无论是用GET方法通过url传递数据,还是使用POST方法通过报文正文传递数据
【Shine】光芒
·
2023-10-04 21:39
Linux系统和网络
网络
https
网络协议
【Linux基础】Linux云服务器(腾讯云、阿里云、华为云)环境部署 | 安装远程XShell | 基本账号管理(超详细教程)
本专栏将从零开始讲解Linux的知识,将涉及Linux基本入门、Linux系统编程、
Linux网络编程
和MySQL数据库。我将持续更
sunny-ll
·
2023-10-04 21:56
Linux基础
linux
运维
服务器
数据结构
腾讯云
阿里云
华为云
【Linux】UDP的服务端 + 客户端
3.3inet_addr:3.4inet_ntoa:3.5bind绑定:4.服务端start4.1recvfrom:4.2sendto:5.客户端6.测试7.Windows客户端前言从上一章开始我们正式进入
Linux
yy_上上谦
·
2023-10-02 08:11
Linux
linux
udp
七、
linux网络编程
网络编程基础网络编程,首先了解计算机网络体系结构是有必要的,着重掌握TCP、IP协议,理解socket的概念,理解数据报方式和流式套接字的原理,熟练掌握相关数据结构的使用数据报和流式套接字的工作过程基本概念linux操作系统一切皆文件的概念在socket通信过程中体现的十分完整,通过一个文件描述符来索引一个socket,创建socket的系统调用为相关参数的含义可查看manual文档,其中doma
zhile_doing
·
2023-10-02 03:32
Linux网络编程
Socket通信6-Libevent移植与使用
目录libeventlibevent交叉编译并移植libevent安装安装步骤测试代码libevent执行报错解决libevent_base根节点event_base_newevent_base_freeevent_reinitevent_loop循环等待事件event_base_loopevent_base_dispatchevent_base_loopexitevent_base_loopbr
东方欲晓w
·
2023-10-01 09:56
Linux网络编程
linux
linux
网络
单片机
Linux网络编程
- 基于TCP的服务器端/客户端(2)
Linux网络编程
-基于TCP的服务器端/客户端(1)一回声客户端的完美实现1.1回声服务器端没有问题,只有回声客户端有问题?问题不在服务器端,而在客户端。
yunfan188
·
2023-10-01 06:30
#
网络编程
Linux网络编程
socket编程
TCP/IP网络编程
TCP编程
Linux编程——sk_buff
本文简要介绍了
Linux网络编程
中使用较多的sk_buff结构体,以便于能够快速理解内核代码中相关sk_buff的使用。
UWB码农Luo
·
2023-09-29 07:09
Linux
linux
网络
物联网
Linux网络编程
- ether_header & iphdr & tcphdr
structether_headerstructether_header是一个数据结构,用于表示以太网(Ethernet)帧的头部。这个结构体在头文件中定义。当我们处理或分析以太网帧时,可以使用这个结构体来访问和解读Ethernet头部的各个字段。以下是structether_header的一些主要字段:ether_dhost:目标MAC地址(DestinationMACaddress),一个6字
青衫客36
·
2023-09-28 18:52
工程化C
Linux
linux
网络
Linux网络编程
- ioctl()结合struct ifreq使用案例
当我们使用ioctl()函数和SIOCGIFFLAGS请求码来获取网络接口的标志时,我们需要提供一个structifreq结构体作为参数。这个结构体包含了网络接口的名称和一个将被填充的字段,该字段将在调用返回时包含所请求的标志。structifreq:该结构体的定义如下:structifreq{charifr_name[IFNAMSIZ];//Interfacenameunion{structso
青衫客36
·
2023-09-28 02:43
Linux
工程化C
linux
网络
Linux网络编程
- sockaddr & sockaddr_in & in_addr
structsockaddrstructsockaddr是用于通用的套接字地址结构体,通常在多种网络API调用中被用作参数,尤其是在套接字编程中。它是许多具体套接字地址结构体(例如structsockaddr_in用于IPv4、structsockaddr_in6用于IPv6)的超类或通用类型。这个结构体的定义如下:structsockaddr{sa_family_tsa_family;//地址家
青衫客36
·
2023-09-28 02:13
工程化C
Linux
linux
网络
Linux网络编程
- struct ifreq & ioctl() 系统调用
structifreqstructifreq是一个数据结构,用于各种与接口相关的输入/输出控制(ioctl)调用。它的主要用途是在网络编程中获取和设置网络接口的属性。这个结构体在头文件中定义。以下是structifreq的一些主要字段和它们的用途:ifr_name:一个字符数组,表示接口的名称,如“eth0”,“wlan0”等。ifr_addr:一个structsockaddr类型的结构,表示接口
青衫客36
·
2023-09-28 02:42
工程化C
Linux
linux
网络
Linux网络编程
——inet_addr()函数源代码
https://opensource.apple.com/source/Libc/Libc-166/net.subproj/inet_addr.c.auto.html/**Copyright(c)1999AppleComputer,Inc.Allrightsreserved.*/#include#include#include#include/**Asciiinternetaddressinter
应凌云
·
2023-09-27 14:34
linux
linux
网络
运维
Linux网络编程
- 网络字节顺序
基本概念网络字节顺序是一种规定的数据表示格式,被用于TCP/IP协议栈,特别是在网络传输数据时。它确保不同的计算机和架构之间可以无缝地通信。网络字节顺序是大端字节序(big-endian)。字节序的背景计算机存储多字节数据(例如32位整数、64位整数)时有两种主要方式:大端(big-endian)和小端(little-endian)。大端字节序(Big-Endian):高位字节存储在内存的低地址。
青衫客36
·
2023-09-27 01:40
C
Linux
linux
网络
Linux网络编程
- inet_pton()函数
inet_pton()函数是“Internetpresentationtonetwork”的缩写,用于将IP地址的表现形式(例如字符串形式的“127.0.0.1”)转换为其网络字节序的二进制形式。这个函数支持IPv4和IPv6地址。函数原型:intinet_pton(intaf,constchar*src,void*dst);参数:af:地址族(AddressFamily)。常见的值为AF_INE
青衫客36
·
2023-09-27 01:38
C
Linux
linux
网络
【Linux】网络原理
.操作系统与网络的关系4.报头与解包4.1报头的作用:5.局域网5.1MAC地址:5.2IP地址:5.3通信原理:6.广域网6.1源IP地址和目的IP地址:6.2通信的本质/端口:前言本章开始我们进入
Linux
yy_上上谦
·
2023-09-26 09:19
Linux
linux
网络
Linux下的网络编程——网络基础、socket编程(一)
前言:前面我们学习了Linux的系统编程,从今天我们就要开始
Linux网络编程
的学习了,
Linux网络编程
中的知识点可能没有前面的Linux系统多一点,但是基础的网络知识我们还是需要了解的,并且网络编程中的
我想学LINUX
·
2023-09-24 07:17
网络
linux
IPC方式
IP协议
TCP协议
UDP协议
socket编程
Linux高性能服务器编程 学习笔记 第五章
Linux网络编程
基础API
我们将从以下3方面讨论Linux网络API:1.socket地址API。socket最开始的含义是一个IP地址和端口对(ip,port),它唯一表示了使用TCP通信的一端,本书称其为socket地址。2.socket基础API。socket的主要API都定义在sys/socket.h头文件中,包括创建socket、命名socket、监听socket、接受连接、发起连接、读写数据、获取地址信息、检测
吃着火锅x唱着歌
·
2023-09-23 09:48
Linux高性能服务器编程
服务器
网络
linux
【
Linux网络编程
】gdb调试技巧
这篇博客主要要记录一下自己在Linux操作系统Ubuntu下使用gbd调试程序的一些指令,以及使用过程中的一些心得。使用方法可以使用如下代码gcc-gtest.c-otest或者gcctest.c-otest-g的选项最好添加,如果不添加,l指令无法被识别-o的选项就是将输出的文件重命名,否则都是a.outgdb的控制l/L+数字指令L/l用于查看调式的代码,后面添加的数字用于确定从第几行开始
C_Ryson
·
2023-09-23 02:59
Linux网络编程
linux
epoll非阻塞的I/O反应堆
I/O反应堆的逻辑思路2.头文件、宏及结构体3.主函数4.主函数中initlistensocket阶段5.主函数中initlistensocket之后的阶段6.读函数,写函数总结前言本文章为黑马程序员
Linux
菠菠萝宝
·
2023-09-21 21:20
Linux网络编程
c语言
开发语言
linux
网络
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他