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高性能服务器编程学习记录——五、
linux网络编程
基础api
1、网络字节序字节序点这里2、socket地址结构体TCP/IP协议族有sockaddr_in和sockaddr_in6两个专用的socket地址结构体,分别用于IPv4和IPv6。structsockaddr_in{sa_family_tsin_family;//地址族:AF_INETu_int16_tsin_port;//端口号,要用网络字节序表示structin_addrsin_addr;/
qq_20363225
·
2022-06-08 20:25
linux
TCP-IP
c/c++
tcp/ip
网络
服务器
Linux网络编程
之套接字
预备知识1、了解IP地址1)IP协议有两个版本,IPv4和IPv6,现在用得比较多的是IPv4。2)IP地址是在IP协议中用来标识网络中不同主机的地址。3)对于IPv4版本来说,IP地址是一个4字节,32位的整数。4)通常使用“点分十进制”的字符串表示IP地址,例如:“192.168.181.129”,其中用点分割的每一个数字表示一个字节,范围为0-255。5)在IP数据报头部,有两个IP地址,分
baobao1767640830
·
2022-06-08 20:11
Linux
linux
Linux网络编程
必备的POSIX API的细节
目录POSIXAPI大集合五元组三次握手的过程,内核协议栈分析listen函数DDOS攻击,洪水攻击DDOS攻击的应对措施数据发送怎么保证顺序?如何保证包地顺序到达(序号+确认应答机制+重传)TCP断开连接的过程问题1.大量的CLOSE_WAIT+FIN_WAIT2是为啥?time_wait状态存在的原因?POSIXAPI大集合五元组(sip,sport,dip,dport,protocol)三次
小杰312
·
2022-06-08 20:32
后端服务器开发
学习
协议栈
网络编程
服务器
linux
linux网络编程
1-基础知识
目录1、OSI七层模型2、TCP/IP模型3、数据的封装与拆封4、IP地址4.1、IP地址的编址方式4.2、点分十进制4.3、网络地址和主机地址4.4、IP地址的分类4.4.1、A类地址4.4.2、B类地址4.4.3、C类地址4.4.4、D类地址4.4.5、E类地址4.5、特殊的IP地址4.5.1、直接广播地址4.5.2、受限广播地址4.5.3、多播地址4.5.4、环回地址4.5.5、0.0.0.
邻居家的小南瓜
·
2022-06-02 11:07
linux
C编程
linux
Linux网络-基础概念
网络协议2、OSI七层模型3、TCP/IP五层(或四层)模型三、网络传输基本流程1、网络传输类型2、数据包封装和分用3、局域网通信四、网络中的地址管理1、认识IP地址2、认识MAC地址零、前言本章将开始对
Linux
可口也可樂、
·
2022-05-30 16:15
Linux学习
网络
linux
网络协议
【
linux网络编程
】-实战
socket编程接口介绍服务器需要socket、blind、listen、accept第一个参数是网络域,也就是网络范围;是ipv4/ipv6第二个参数是指定类型;比如TCP类型第三个参数用来制定协议;如果是0就是默认协议;accept返回值是一个fd,accept正确返回就表示我们已经和前来链接我的客户端建立起一个TCP链接了,以后就要通过这个连接和客户端进行读写操作,读写操作就需要一个fd,这
钟浩森
·
2022-05-13 07:12
linux应用编程
linux
select 共享内存 linux,
linux网络编程
中select/poll/epoll的比较分析
转自:http://blog.csdn.net/tianmohust/article/details/6677985一).Epoll介绍Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll在Linux2.6内核中正式引入,和select相似,其实都I/O多路复用技术而已,并没有什么神秘的。其实在Linux下设计并发网络程序,向来不缺少方法,比如典型的Apache模型(Pro
Showtime 100
·
2022-04-11 04:40
select
共享内存
linux
Linux网络编程
-客户端与服务器端通信(Echo)
Linux网络编程
-客户端与服务器端通信这里已经详细介绍了服务器与客户端之间的信息交互。本章将继续介绍服务器端回应(Echo)功能展示。
ArduousBonze
·
2022-03-30 22:54
UNIX/LINUX编程
服务器
linux
编程
网络
server
processing
Linux网络编程
前言这篇文章承接Linux系统编程,简单记录了一下,顺便把实现的代码都贴在文章中了。服务器的底层实现,好像Get了一丢丢。加油,少年!#网络基础简介学完本节课程后,同学将掌握网络结构的基本概念,如何查看IP,DHCP协议原理,ARP请求、1MP请求分析,NAT网关原理,动态路算法的相关知识网络结构查看IPDHCPARP请求、IGMP请求NAT网关动态路由算法01.网络结构国家或全球ISP移动网络本
杰之行
·
2022-02-11 18:16
C/C++
Java/Scala
linux
网络
服务器
Linux网络编程
复习笔记
理论知识点TCP协议的三次握手的触发APIconnect:第一次握手信息第二次,第三次都是被动处理,无需调用接口accept不参与三次握手,取出三次握手成功的描述符socket描述符的合理大小属于linux系统描述符fd的一部分:fd∈[0,1,2……]fd\in[0,1,2……]fd∈[0,1,2……]总之fd>=0fd>=0fd>=0把socket状态从主动发送状态转变为被动监听状态liste
MangataTS
·
2021-12-01 22:52
Linux
c语言
linux
服务器
socket
网络
Linux网络编程
基础API
Linux网络编程
基础APIsocket地址APIsocket地址:一个IP地址和端口对(ip,port),唯一表示了使用TCP通信的一端字节序大小端字节序32位机的CPU累计器一次能装载(至少)4字节
gnez-dd
·
2021-11-21 20:35
服务器编程
编译器
c++
linux
Linux网络编程
——常用IO函数
QQ群号:513683159【相互学习】内容来源: 《
Linux网络编程
》IO函数的比较 read()/write()、readv()/writev()可对所有文件描述符使用。
惺忪牛犊子
·
2021-11-12 14:49
书籍学习笔记
嵌入式
linux
网络
运维
Linux网络编程
——字节序与网络字节序
QQ群号:513683159【相互学习】内容来源: 《
Linux网络编程
》内容概述: 简单介绍字节序与网络字节序的概念 两个示例: 1.检查本机字节序 2.字节序转换字节序概念 什么是字节序
惺忪牛犊子
·
2021-11-12 10:02
嵌入式
书籍学习笔记
linux
网络
运维
Linux网络编程
——常用套接字函数
QQ群号:513683159【相互学习】内容来源: 常用套接字函数整理 基础套接字函数入门1 套接字函数及其理解 socket()函数用法详解:创建套接字 《
Linux网络编程
》1️⃣socket
惺忪牛犊子
·
2021-11-11 18:20
书籍学习笔记
嵌入式
linux
网络
运维
Linux网络编程
——简单基于TCP协议的服务器/客户端示例
QQ群号:513683159【相互学习】内容来源: 《
Linux网络编程
》功能描述: 客户端连接服务器后从标准输入读取字符串发送给服务器。
惺忪牛犊子
·
2021-11-11 18:17
嵌入式
书籍学习笔记
服务器
tcp/ip
linux
【
Linux网络编程
学习】socket API(socket、bind、listen、accept、connect)及简单应用
此为牛客LinuxC++课程和黑马Linux系统编程笔记。1.什么是socket所谓socket(套接字),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口。socket可以看成
F+T
·
2021-11-10 17:45
Linux
C++学习笔记
#
Linux网络编程篇
网络
linux
socket
【
Linux网络编程
学习】预备知识(网络字节序、IP地址转换函数、sockaddr数据结构)
此为牛客LinuxC++课程和黑马Linux系统编程笔记。1.网络字节序我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分。磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。网络数据流同样有大端小端之分,那么如何定义网络数据流的地址呢?发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺
F+T
·
2021-11-09 23:46
Linux
C++学习笔记
#
Linux网络编程篇
linux
tcp/ip
Linux网络编程
——UDP通信 代码实现
UDP通信1.UDP代码实现流程如下所示UDP通信过程//服务器端1.socket()创建套接字2.bind()绑定套接字与TCP区别开来,没有listen()、accept()建立连接的过程3.通信recvfrom()sendto()4.close//客户端1.socket()创建套接字与TCP区别开来,没有connect()建立连接的过程2.通信sendto()recvfrom()3.clos
MambaCoder
·
2021-11-09 16:52
Linux网络编程
udp
linux
网络
Linux网络编程
TCP篇
来源:微信公众号「编程学习基地」文章目录TCP/IP协议网络应用程序常见的两种设计模式LinuxSocket网络编程TCP协议TCP编程服务端API接口socketbindUNIX本地协议族TCP/IP协议族listenaccept客户端API接口connectsend/recvTCP案例服务
DeRoy
·
2021-11-04 00:34
Linux网络编程
linux
网络
linux
tcp/ip
[
Linux网络编程
]多路IO复用【Epoll Select】问题补充
对于epoll模型和select模型的补充,总结了一些忽视或者说高频的问题.修正时间:10-06文章目录什么是IO多路复用IO阻塞(BIO)模型IO非阻塞(NIO)模型IO复用的三种方式及其各自优缺点epollLT与ET模型的区别补充-再探epoll和select流程(重要)信号驱动IO和异步IO什么是IO多路复用IO多路复用是一种同步IO模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就
Windalove
·
2021-10-06 15:47
Linux网络编程
linux
c++
epoll
Linux高性能服务器编程 学习笔记③
Linux高性能服务器编程学习笔记③
Linux网络编程
基础APIsocket地址API字节序通用socket地址&&专用socket地址IP地址转换函数创建socket命名socket监听socket连接相关接受连接发起连接关闭连接数据读写
秦淮孤道
·
2021-09-05 21:51
Linux高性能服务器
linux
网络
ubuntu
学习
Linux网络编程
基本函数
目录1,创建套接字socket函数原型:参数列表:type的值:protocol得值:2,绑定套接字bind函数原型:参数列表:3,创建监听;listen函数原型:参数列表:4,等待连接accept函数原型:5,收发消息send和recv函数原型:该函数的参数:send的流程:recv的流程:5,关闭套接字描述符close函数:6,基于tcp协议的C/S服务器模型7,实现代码服务端:客户端:1,创
·
2021-08-27 18:24
简析
Linux网络编程
函数
目录1,创建套接字socket2,绑定套接字bind3,创建监听;listen4,等待连接accept5,收发消息send和recv6,关闭套接字描述符close7,基于tcp协议的C/S服务器模型8,实现代码网络编程的一些基本函数:也是实现tcp协议通讯的基本步骤,实现代码在最后,IP需要修改为自己的IP,即可通信;1,创建套接字socket函数原型:#include#includeintsoc
·
2021-08-27 17:19
Linux网络编程
——Socket
Linux网络编程
——Socket1套接字概念1.1基本概念1.2表示方式及原理2预备知识2.1网络字节序3网络套接字函数3.1socket模型创建流程图3.2socket函数3.3bind函数3.4listen
贪心的鬼
·
2021-08-09 09:38
Linux系统编程
linux
网络编程
socket
Linux网络编程
篇之ICMP协议分析及ping程序实现
Linux网络编程
系列:
Linux网络编程
篇之Socket编程预备知识
Linux网络编程
篇之TCP协议分析及聊天室功能实现如果对
Linux网络编程
,对socket通信不是太清楚的同学,强烈推荐看一下上述的预备知识
刘元旺
·
2021-06-14 23:53
Linux网络编程
| 基于TCP协议的客户端服务端通信
TCP协议:传输控制协议特点:面向连接的、可靠的、面向字节流传输的协议TCP通信编程流程客户端1.创建套接字2.绑定地址信息(不推荐主动绑定):操作系统会根据系统资源自动分配一个未使用的端口进行地址绑定3.向服务端发起连接请求:进行TCP三次握手与服务端建立连接4.收发数据5.关闭套接字服务端1.创建套接字2.绑定地址信息3.开始监听-将socket状态置为LISTEN状态告诉系统可以开始处理客户
偶然i
·
2021-06-02 17:41
linux
TCP通信
客户端服务端通信
多进程实现客户服务端通信
多线程实现客户端服务端通信
【
Linux网络编程
必学!】——Linux_网络编程_TCP
文章目录1.TCP概念2.TCP编程接口2.1listen()2.2accept()2.3connect()2.4send()/recv()3.三次握手4.四次挥手5多进程版本TCP6多线程版本TCP7TCPvsUDP1.TCP概念传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP旨在适应支持多网络应用的分层协
LHlucky_2
·
2021-05-27 15:11
linux
笔记
网络
linux
网络协议
新星计划
网络通信
【
Linux网络编程
必学!】——Linux_网络编程_UDP
文章目录1.预备知识1.1ip地址1.2端口号2.网络字节序2.1大端模式和小端模式2.2字节序转换函数3.sockaddr结构4.认识UDP协议5.socket编程接口6.代码实现UDP7.UDP协议常见问题7.1udp报文丢失问题7.2udp报文乱序问题7.3udp流量控制问题1.预备知识1.1ip地址要想使网络中的计算机能够进行通信,必须为每台计算机指定一个标识号,通过这个标识号来指定接受数
LHlucky_2
·
2021-05-25 19:22
笔记
linux
网络
udp
linux
新星计划
c++
网络协议
【网络\Linux】
Linux网络编程
-TCP,UDP套接字编程及代码示范
这里写目录标题UDP类UDP服务端单执行流UDP客户端TCP类TCP单执行流服务器TCP客户端TCP多执行流(线程)TCP多执行流(进程)本文我们分为TCP和UDP协议网络程序的编写:他们的区别如下:项目特点UDP用户数据报协议,无需连接,不可靠,面向数据报,其实时性>可靠性(典型的就是视频传输)TCP传输控制协议,面向连接,可靠,面向字节流,其可靠性>实时性(文件传输)UDP类1#include
zhaocx111222333
·
2021-05-25 15:42
计算机网络
Linux
网络
socket
指针
Linux网络编程
——UDP服务器实现
Linux网络编程
——UDP服务器实现目录
Linux网络编程
——UDP服务器实现一、TCP与UDP(一)TCP(二)UDP二、UDP实现中常用到的函数三、UDP通信代码实现(一)server(一)client
weixin_44832458
·
2021-05-16 20:31
程序人生
笔记
socket
linux
网络通信
udp
c++
Linux网络编程
——I/O复用之poll函数
一、回顾前面的selectselect优点:目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点select缺点:1.每次调用select(),都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大,同时每次调用select()都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大。2.单个进程能够监视的文件描述符的数量存在最大限制,在Linux上一般为1024,可以通过
ai___believe
·
2021-05-15 15:50
网络编程学习路线规划
参考书籍《
linux网络编程
》。注:此书有一些小瑕疵,有的内容描述不准确,代码也不能直接运
batbattle
·
2021-05-14 20:42
网络编程4:高并发服务器——多路I/O转接服务器设计(select、poll、epoll)
返回:
Linux网络编程
学习笔记select、poll、epoll三者优缺点对比多路I/O函数优点缺点select1.函数诞生时间早,跨平台性好,windows、linux、macOS、Unix、类Unix
snaking616
·
2021-05-04 08:06
linux网络编程
多路I/O
网络编程3.5:理解TCP状态时序图
返回:
Linux网络编程
学习笔记TCP状态时序图如下:1.三次握手(创建连接)TCP建立连接时,三次握手时序如下:TCP数据报格式:第一次握手:SYN,1000(0),//控制位SYN置1,32位序列号为
snaking616
·
2021-05-03 15:17
linux网络编程
TCP
网络编程3:高并发服务器——多进程和多线程服务器设计(fork、pthread_create)
返回:
Linux网络编程
学习笔记1.程序流程多进程和多线程的服务器代码设计思路如下2.程序代码2.1多进程服务器#include#include#include#include#include#include
snaking616
·
2021-05-02 23:12
linux网络编程
多进程
多线程
网络编程0:网络基础知识
返回:
Linux网络编程
学习笔记1.网络应用程序设计模式C/S模式:传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。
snaking616
·
2021-05-02 17:18
linux网络编程
网络通信
Linux网络编程
学习笔记
1.学习链接黑马程序员-
Linux网络编程
:https://www.bilibili.com/video/BV1iJ411S7UA课件链接:https://pan.baidu.com/s/1lPXTkrn0SKGs-BEY61FOgw
snaking616
·
2021-05-02 15:58
linux网络编程
linux
socket
网络
Linux编程环境(Vim,Gcc)
Linux编程环境(
Linux网络编程
笔记)Linux环境下的编译器vim的使用简介:1.vim的安装:使用命令:apt-getinstall+软件包名可以用来安装各种软件2.vim编译器的模式:Vim
like刚
·
2021-04-25 21:34
笔记
学习
linux
vim
c语言
[
Linux网络编程
]线程池的封装(结构体方式)
线程池在实际的服务器开发是非常重要的一环,他涉及的概念也比较多,例如线程的使用,互斥锁,条件变量,信号量的创建使用时机等等。同时你还要知道它如何自动销毁和创建,实现一个较为智能的模式。本文对线程池的一种构建方式进行详细分解解读注释,但也有许多需要改进的地方。完整的代码文中已经给出,如需整个测试项目,私信发。目录链接文章目录1为什么要epoll创建一个线程池2线程池的实现流程3准备工作,封装互斥锁和
Windalove
·
2021-04-24 13:25
Linux网络编程
线程池
高并发
服务器
网络编程
Python爬虫(三)-Socket网络编程
封装许多底层的实现细节,方便程序员使用的同时,也使程序员比较难了解一些底层的东西,我觉得学网络编程还是用c语言更好一点.写这篇博文,也希望回顾并整理一下以前学过的c语言和linux下一些东西,会将一些
Linux
Andrew_liu
·
2021-04-20 16:35
网络编程5:高并发服务器——基于epoll ET模式反应堆模型的服务器设计
返回:
Linux网络编程
学习笔记/**epoll基于非阻塞I/O事件驱动*/#include#include#include#include#include#include#include#include
snaking616
·
2021-04-19 22:42
linux网络编程
linux网络编程
系列(四)--tcp包头、三次握手、四次挥手、状态
1.TCP协议1.1TCP数据包头要了解三次握手和四次挥手,首先需要了解下TCP数据包头的结构,如下:tcp包头源端口、目的端口:16位长,标识出远端和本地的端口号;序号:SEQ,32位长,标识发送的数据包的顺序,防止数据包乱序;确认号:32位长,接收方对发送方发送来的TCP报文段的响应,其值是对收到的报文序号加1,用于解决不丢包的问题;TCP头长:4位头长,标识tcp头部可以有多少个32bit,
cpp加油站
·
2021-04-15 06:39
Linux网络编程
基础(1)
网络编程预备知识主机字节序与网络字节序现代CPU的累加器一次都能至少装载4字节(32位机),即一个整数。这四个字节在内存中的排序影响着它被累加器装载成的整数的值。这就是字节序问题。字节序分为大端字节序和小端字节序。大端字节序表示一个整数的高位地址存储在内存的低地址位上,地位地址存储再内存的高地址处。网络数据流地址:发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到
GGGGbomm
·
2021-04-13 19:30
笔记
linux
c++
网络通信
网络编程2:多进程TCP服务器的设计——accept与fork函数的使用思考
返回:
Linux网络编程
学习笔记1.多进程TCP服务器的代码框架主要的步骤如下,需要注意的点:(1)父进程仅仅用于监听,对应pid>0,需要关闭连接套接字conn_fd;(2)子进程仅仅用于连接后的数据传输
snaking616
·
2021-04-11 18:41
linux网络编程
网络编程1:简易的TCP socket编程
返回:
Linux网络编程
学习笔记1.参考链接(1)【
Linux网络编程
】TCP网络编程中connect()、listen()和accept()三者之间的关系:https://blog.csdn.net/
snaking616
·
2021-04-04 22:00
linux网络编程
linux网络编程
socket编程
温故Linux后端编程(持续更新中) -- 导航篇
文章目录
Linux网络编程
专区数据库专区redis缓存专区消息队列专区负载均衡专区项目日报专区解决方案专区待挖掘技术专区虚拟机相关专区我封装的动态链接库
Linux网络编程
专区温故Linux后端编程(一)
看,未来
·
2021-02-15 09:25
Linux服务器编程
数据库
redis
linux
c++
Linux网络编程
必学的TCP/IP协议——图解分层(通俗易懂)【建议新手收藏】
带你解决问题所在!实战出发,直击痛点!网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统。链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。网络层,有时也称作互联网层,处理分组
深度Linux
·
2021-01-30 17:36
网络
路由器
linux
网络协议
编程语言
Linux网络编程
的5种IO模型一多路复用Select
前言:我们在上一讲
Linux网络编程
的5种IO模型:阻塞IO与非阻塞IO,对于其中的阻塞/非阻塞IO进行了说明。这一讲我们来看多路复用机制。
深度Linux
·
2021-01-26 20:20
内核
epoll
网络
linux
c++
Linux网络编程
的5种IO模型一阻塞IO与非阻塞IO(内含现实生活举例说明)通俗易懂【建议新手收藏】
前言:整理之前学习socket编程的时候复习到了多路复用,搜索了有关资料,了解到多路复用也有局限性,本着打破砂锅问到底的精神,最终找到了关于IO模型的知识点。一、概述在《Unix网络编程》一书中提到了五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。我们在这里就介绍并实现这5种模型。介绍之前,请允许我引用某段比喻阻塞IO,给女神发一条短信,说我来找你了,然后就默默
深度Linux
·
2021-01-26 17:16
多线程
编程语言
epoll
linux
IO
0 Linux 前言
目录0Linux前言1Linux文件读写2Linux文件属性3Linux目录操作4Linux系统部分基础概念5Linux进程初探6Linux进程间通信(IPC)7Linux守护进程8Linux线程9
Linux
IYATT-yx
·
2021-01-15 22:46
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他