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网络编程
Replication进阶(三) 复制心跳详解
心跳心跳,这个词在不同人的脑袋里,第一反应会想到不同的东西,比如说医护人员,想到的是‘砰~砰~砰~’;
linux网络编程
的人想到可能是客户端与服务端的探活机制,比如TCP协议的心跳,或者应用层自己构建的心跳机制
sunashe
·
2018-07-15 14:18
Linux网络编程
——tcp并发服务器(I/O复用之select)
https://blog.csdn.net/lianghe_work/article/details/46519633与多线程、多进程相比,I/O复用最大的优势是系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程。代码示例:#include#include#include#include#include#include#include#include#include#includ
sinat_35297665
·
2018-07-11 17:39
Linux网络编程
linux网络编程
IO模型
构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。有许多解决方案,但事件驱动也被广泛应用到网络编程中。并大规模部署在高连接数高吞吐量的服务器程序中,如http服务器程序、ftp服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。这些事件驱动模型中,libeven
IOT_SHUN
·
2018-07-05 10:06
linux网络编程
Linux epoll
Linux网络编程
–epoll模型原理详解以及实例1.简介LinuxI/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。
grace_fang
·
2018-06-08 14:32
linux
Linux网络编程
学习路线
转载自:https://blog.csdn.net/lianghe_work/article一、网络应用层编程1、
Linux网络编程
01——网络协议入门2、
Linux网络编程
02——无连接和面向连接的区别
CTHON
·
2018-05-25 20:00
Linux网络编程
:使用select函数实现socket 收发数据
所谓的回射是指:客户端A向服务端B发送数据,服务端B接收到数据之后,再将接收到的数据发送回客户端B。所谓的迭代服务器,是指服务器端只用一个进程处理或线程处理所有客户端的请求。与之对应的是并发服务器,并发服务器是指对于每一一个客户端的请求,服务端都分配一个进程或是线程独立来处理客户端的处理。下面介绍使用select函数实现TCP回射迭代服务。直接上代码:服务端程序:/*===============
li_wen01
·
2018-04-24 11:52
linux
网络编程
linux网络编程
:设置非阻塞socket收发数据
非阻塞式I/O包括非阻塞输入操作,非阻塞输出操作,非阻塞接收外来连接,非阻塞发起外出连接。包括的函数有:read,readv,recv,recvfrom,recvmsg,write,writev,send,sendto,sendmsg,accept。将socket设置为非阻塞模式有三总方法:(1)创建socket的时候,指定socket是异步的,在type的参数中设置SOCK_NONBLOCK标志
li_wen01
·
2018-04-24 11:18
linux
网络编程
Linux网络编程
模型和Ceph Async 模型探讨
IO多路复用所谓的I/O多路复用,就是可以监控多个socket上的IO请求。允许多个socket在可读或可写准备好时,应用能被通知到,这样应用就可以一次非阻塞的处理多个socket相关的IO请求。IO多路复用的有三种实现方式:SelectI/O复用模型早期用select实现。intselect(intn,fd_set*readfds,fd_set*writefds,fd_set*exceptfds
Jack-changtao
·
2018-04-16 19:57
ceph
Linux网络编程
之 大小端初探
首先解释一下大小端的概念。大端(BigEndian),同时也是网络序,是数据在网络上传输的一种数据组织格式,其存储的方式比较符合人们读写的习惯。小端(LittleEndian),这里不能说其是主机序,因为主机可能采用的是大端cpu也可能采用的是小端cpu,小端与大端相对。通过一个例子深入了解它们之间的区别:用一台BigEndian和另一台LittleEndian分别存储32bit的数值,为:0x1
fantasydreams
·
2018-04-06 16:14
C/C++
Linux
网络编程
linux编程瞎搞
Linux网络编程
5 - select模式的TCP服务器
为了同时处理多个客户端的连接,上一篇介绍了利用多线程的方法实现,每个连接新建一个线程,然后各自去处理。这是最简单也是最容易想到的方式。客户端的连接存在,线程就存在。但是,对于每一个客户端,并不是时时刻刻都会向服务端发送消息的,随着客户端连接数量的增加,创建的线程也越来越多,系统在线程和进程之间切换的开销就会变得非常大。再者,如果客户端频繁的创建连接又断开,服务端就会随之创建或销毁线程,使得效率非常
k117470154
·
2018-03-31 23:58
网络编程
深入
linux网络编程
(三):异步阻塞IO —— epoll
1.epoll的优越性上一节介绍的select有几个缺点:存在最多监听的描述符上限FD_SETSIZE每次被唤醒时必须遍历才能知道是哪个描述符上状态ready,CPU随描述符数量线性增长描述符集需要从内核copy到用户态这几个缺点反过来正是epoll的优点,或者说epoll就是为了解决这些问题诞生的:没有最多监听的描述符上限FD_SETSIZE,只受最多文件描述符的限制,在系统中可以使用ulimi
IOT_SHUN
·
2018-03-10 22:27
linux网络编程
linux网络编程
之用socket实现简单客户端和服务端的通信(基于TCP)
一、介绍基于TCP协议通过socket实现网络编程常用API1、读者如果不是很熟悉,可以先看我之前写的几篇博客,有socket,地址结构的理解,更加方便读者理解地址分别是:1)、http://blog.csdn.net/u011068702/article/details/564799272)、http://blog.csdn.net/u011068702/article/details/5648
你的财神爷
·
2018-02-24 11:01
C++
linux网络编程
epoll模型简单总结
epoll与select和poll在使用和实现上有很大区别。首先,epoll使用一组函数来完成,而不是单独的一个函数;其次,epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中,无须向select和poll那样每次调用都要重复传入文件描述符集合事件集。epoll函数的原型为:intepoll_create(intsize);功能:创建epoll监听集合,size:最大监听数intepo
LiuBo_01
·
2018-02-11 19:08
Linux
linux网络编程
入门三步走
背景:每一个语言都会有入门的helloworld内容:看完网络编程的基础知识,知道原来网络编程也有小练习概述:Echo,Chat,Proxy网上有专门的练习。不管是UNIX网络编程还是其他的书籍都会有相关的举例Echo,chat,Proxy在这里统一再现Python的实现,主要是Python的比较简单,稍后也会补充一下PHP的swooleEcho:importos,sys,platformimpo
jackdongting
·
2018-02-09 17:02
网络
编程
小练习
语言学习
Linux中五种I/O模式
《
Linux网络编程
》五种I/O模式1、阻塞I/O2、非阻塞I/O3、I/O多路复用4、信号驱动I/O(SIGIO)5、异步I/O一般来说,程序进行输入操作有两步:1.等待有数据可以读2.将数据从系统内核中拷贝到程序的数据区
datadev_sh
·
2018-02-02 17:48
Linux
DevOps
Linux网络编程
之Socket初探
Socket由来Socket的英文原意就是“孔”或“插座”,现在,作为BSDUNIX的进程通讯机制,取其后一种意义。一起看下网络编程里说的socket定义:每一个Socket都用一个半相关描述:{协议,本地地址,本地端口}一个完整的Socket则用一个相关描述{协议,本地地址,本地端口,远程地址,远程端口}每一个Socket有一个本地的唯一Socket号,由操作系统分配上面说的“本地地址”就是隔壁
霸气逆流
·
2018-01-21 18:24
linux网络编程
socket服务器端实现
#include#include#include#include#include#include#include#include#include#include#definebuffersize1024intmain(){//定义两个进程,一个是发送信息进程,一个是接收信息进程pid_tcaller;pid_trecevier;/*建立socket连接*///保存socket信息structsoc
佳悦
·
2018-01-20 18:28
embedded
网络字节序与主机字节序的相互转换
1.网络字节序与主机字节序在
Linux网络编程
中,经常碰到网络字节序与主机字节序的相互转换。说到网络字节序与主机字节序需要清晰了解以下几个概念。字节序,顾名思义,指字节在内存中存储的顺序。
Dablelv
·
2018-01-13 19:38
C/C++常用代码库
Linux网络编程
的相关信号
《Linux高性能服务器编程》阅读笔记: SIGHUP、SIGPIPE和SIGURG是网络编程中密切相关的信号。 SIGHUP:SIGHUP信号的触发时机是在进程的控制终端被挂起,对于没有控制终端的网络后台程序来说,通常是利用SIGHUP信号来强制服务器程序重读相关的配置文件,一个典型的例子就是xinetd超级服务器程序。 SIGPIPE:往读端关闭的管道或socket连接中写数据将会触发S
echo_bright_
·
2017-12-25 19:39
Linux系统/网络编程
Linux编程
Linux网络编程
-TCP头部与UDP头部结构对比
UDP头部结构UDP是面向数据报的简单传输层协议,不需要建立服务器与客户端的连接就能传输数据报,数据报是指从发送方到接收方的一个信息单元。正因为不需要建立连接所以它不能及时的返回传输状态,也不能确定数据是否到达发送方。UDP头部的结构:16位源端口号:标识发送方应用程序16位目的端口号:标识接收方应用程序16位UDP数据报长度:表示发送方传输数据报的大小16位检验和:校验数据报是否完整,不完整是重
禾月克
·
2017-12-10 21:21
TCP
头部
UDP
LINUX网络编程
Linux网络编程
-TCP/IP基本框架
TCP/IP层次架构网络能在不同的机器和操作系统之间通信需要依赖一些列的规范的协议,例如:ARP,RARP,TCP,UDP,IP,IGMP,ICMP。这些协议是在不同的层次进行开发和工作,每一层负责完成一定的通信功能,而且层与层之间有相关接口,这样组合成一个完整的网络传输系统下图是TCP/IP五层网络模型结合上图,网际的数据传输需要经过如下步骤:1应用程序把数据传输到应用程序的数据发送缓冲区,并设
禾月克
·
2017-12-10 19:38
unix
网络编程
TCP
LINUX网络编程
Linux网络编程
之TCP编程*(经典案例)
2_socket_server.c/*
Linux网络编程
之TCP编程,服务器端读数据socket函数之后,返回值serfd,作为后面所有网络编程函数的第一个参数*/#include#include#include
辉夜星辰
·
2017-12-10 10:58
Linux应用程序设
网络编程
socket
Linux网络编程
-TCP
1.OSI七层协议模型应用层(Application)表示层(Presentation)会话层(Session)传输层(Transport)TCP/UDP网络层(Network)数据链路层(DataLink)物理层(Physical)2.网络中进程之间如何通信网间进程通信要解决的是不同主机进程间的相互通信问题(可把同机进程通信看作是其中的特例)。为此,首先要解决的是网间进程标识问题。同一主机上,不
Silence_Fall
·
2017-12-05 23:11
linux入门
网络编程
linux
linux下建立服务器与客户端
在此主要记录一下现在所学习
Linux网络编程
的内容,主要包括Linux下网络编程建立客户端与服务器:首先,建立服务器,主要分为4步:第一步:打开socket文件描述符。
eiwowangle
·
2017-12-01 11:23
Linux网络编程
12 -- select的局限和poll函数
一、select的局限性1、最大文件描述符的局限。套接字在socket创建时,受到最大文件描述符的限制,Linux系统默认最多创建1024个套接字,且三个已被占用:标准输入、标准输出、标准错误,且服务器端还要去掉一个监听套接字listenfd。linux系统可通过ulimit-n查看和ulimit-ncount进行修改。2、select进行检测时,受限于FD_SETSIZE的大小,最多只可以检测F
Luck-U
·
2017-11-30 16:16
Linux网络编程
Linux网络编程
10(3) -- close 与 shutdown
1.close()函数close一个套接字的默认行为是把套接字标记为已关闭,然后立即返回到调用进程,该套接字描述符不能再由调用进程使用,也就是说它不能再作为read或write的第一个参数,然而TCP将尝试发送已排队等待发送到对端的任何数据,发送完毕后发生的是正常的TCP连接终止序列。在多进程并发服务器中,父子进程共享着套接字,套接字描述符引用计数记录着共享着的进程个数,当父进程或某一子进程clo
Luck-U
·
2017-11-27 15:31
linux
socket
网络编程
Linux网络编程
[
Linux网络编程
]TCP编程--TCP通信程序客户端
#include #include #include #include #include #include #include #define SERV_PORT 25555 //服务器接听端口号#define BACKLOG 20 //请求队列中允许请求数#define BUF_SIZE 256 //缓冲区大小int main(int argc, char *
银河星君
·
2017-11-18 19:27
Linux网络编程
Linux网络编程
6
Linux网络编程
[
Linux网络编程
]TCP编程--TCP通信程序服务器端
#include #include #include #include #include #include #include #include #define SERV_PORT 25555 //服务器接听端口号#define BACKLOG 20 //请求队列中允许请求数#define BUF_SIZE 256 //缓冲区大小 int main(int argc,c
银河星君
·
2017-11-18 19:32
Linux网络编程
Linux网络编程
6
Linux网络编程
[
Linux网络编程
]IP地址转换函数族--使用inet_addr函数
#include #include #include #include int main(int argc,char *argv[]){ unsigned long iptemp; if(argc != 2) //如果参数不正确 { printf("请输入正确的ip地址值.\n"); return 1; } iptemp = inet_addr(argv[1
银河星君
·
2017-11-18 19:34
Linux网络编程
Linux网络编程
6
Linux网络编程
Linux网络编程
10(2) -- TCP通信过程中的状态
状态图1状态图2对于上面的图N多人都知道,它排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻的认识,不能只停留在一知半解之中。下面对这张图的11种状态详细解析一下,以便加强记忆!不过在这之前,先回顾一下TCP建立连接的三次握手过程,以及关闭连接的四次握手过程,详情请看《TCP三次握手和四次挥手》。CLOSED:这个没什么好
Luck-U
·
2017-11-10 16:46
Linux网络编程
Linux网络编程
--(5)Linux常见服务器模型
一、循环服务器一个服务器同一时刻只能响应一个客户端的请求。(1)TCP循环服务器服务器运行后等待客户端的连接请求服务器接受一个客户端的连接后开始处理,完成客户的所有请求后断开连接循环服务器一次只能处理一个客户端的请求只有在当前客户的所有请求都完成后,服务器才能处理下一个客户的连接/服务请求如果某个客户端一直占用服务器资源,那么其他的客户端不能被处理,TCP服务器一般很少采用循环服务器。TCP循环服
fluency1224
·
2017-11-06 19:00
Linux网络编程
linux网络编程
(epoll反应堆)
一,epoll反应堆结构二,epoll编程/*************************************************************************>FileName:server_epoll_btree.c>Author:songli>QQ:2734030745>Mail:
[email protected]
>CSDN:http://my.csdn.n
chen_song_
·
2017-11-02 23:32
Unix网络编程
Linux网络编程
--(1)网络体系架构
一、网络的体系架构1、OSI模型网络体系结构指的是网络的分层结构以及每层的使用的协议集合。OSI协议(国际标准化组织)参考模型:分为7层但是由于OSI的分层过于复杂,TCP/IP模型将网络体系架构分为4层,被广泛应用。2、在tcp/ip模型中四层的功能:网络接口层(物理层、链路层):传输物理信号,接口,信号形式【高通】,曼彻斯特编码,将二进制流转换为数据帧,并进行数据帧的发送和接收。数据帧是网络传
fluency1224
·
2017-10-30 19:29
Linux网络编程
TCP/IP协议四层模型
接下来的学习重心会放在
Linux网络编程
这一块,我的博客也会随之更新。参照的书籍有《Linux高性能服务器编程》(游双著)、《UNIX网络编程-卷1:套接字联网API》。
echo_bright_
·
2017-10-28 17:26
Linux系统/网络编程
Linux编程
Linux网络编程
——tcp并发服务器(I/O复用之select
http://blog.csdn.net/lianghe_work/article/details/46519633与多线程、多进程相比,I/O复用最大的优势是系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程。代码示例:[csharp]viewplaincopy#include#include#include#include#include#include#include#in
sinat_35297665
·
2017-10-26 21:46
Linux网络编程
cvte2018秋季招聘c++开发面试面经
今天cvte的面试官很多时候是想让你展示自己最懂什么,然后他听你展示,每次要问c++,数据结构,
Linux网络编程
之前他都会问一下你了解的深浅,如果你说很熟悉他就会问的很多,如果你说只是了解他就只是问几个简单的问题
Faded0104
·
2017-09-16 20:31
笔试面试
linux网络编程
Socket之TCP与UDP
socket、tcp、udp、http的认识TCP/IP协议族TCP/IP是个协议族,可分为三个层次:网络层、传输层和应用层。网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。传输层中有TCP协议与UDP协议。应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。HTTP协议HTTP协议是建立在请求/响应模型上的,但其最终还是基于TCP的。不过,目前,有人正在研究
夏中伟
·
2017-08-24 17:35
linux应用
C语言之网络编程(服务器和客户端)
Linux网络编程
1、 套接字:源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。常用的TCP/IP协议的3种套接字类型如下所示。
镜花寒
·
2017-08-18 00:00
linux网络编程
之断点传输文件
以下载链接“http://www.boa.org/boa-0.94.13.tar.gz”为例:断点续传实验大概步骤:=====================1,使用gethostbyname()获取站点“www.boa.org”的IP地址2,以“boa-0.94.13.tar.gz”为例,构建HTTP请求报文首部:char*httpreq="GET/boa-0.94.13.tar.gzHTTP/
ComingFlying
·
2017-08-16 20:48
c语言
Linux网络编程
之"获取网络天气信息"
需求分析:1.需要Linuxc网络编程基础,2.需要了解http协议3.需要天气信息相关api(可以从阿里云上购买,很便宜的!)4.需要cJSON解析库(因为获取到的天气信息一般是用cJSON封装,有的是用xml封装则需要相关解析库)cJSON下载链接:https://github.com/DaveGamble/cJSONcJSON在线代码格式化:http://tool.oschina.net/c
ComingFlying
·
2017-08-15 17:04
c语言
基于socket的TCP和UDP通讯的简单建立
最近在学习
Linux网络编程
,写下此学习笔记。
_HAIHUI_
·
2017-08-12 00:00
Linux
Linux网络编程
之网络编程基础客户端
#include#include#include#include#include#include#defineSERV_PORT8000intmain(intargc,char*argv[]){intsfd,len;structsockaddr_inserv_addr;charbuf[4096];if(argc<2){printf("./clientserv_ip\n");return1;}sfd
2424988205
·
2017-08-03 21:53
linux
linux编程
linux网络编程
Linux网络编程
之bind函数
BIND(2)—–Linux程序员手册——-BIND(2)名称bind-绑定以个端口基本介绍#include/*SeeNOTES*/#includeintbind(intsockfd,conststructsockaddr*addr,socklen_taddrlen);sockfd=socket函数返回的一个ID-----------*addr=定义的一个structsockaddr_in结构体的
2424988205
·
2017-08-03 20:39
linux
linux编程
linux网络编程
Linux网络编程
之网络编程基础服务端
#include#include#include#include#include#include#include//设置宏定义端口#defineSERV_PORT8000intmain(void){intsfd,cfd;inti,len;//服务端客户端structsockaddr_inserv_addr,client_addr;charbuf[4096],client_ip[128];sockl
2424988205
·
2017-08-03 20:27
linux
linux编程
linux网络编程
研究一下 fork 的原理,并且还有 vfork 的一些使用场景
本文地址:https://segmentfault.com/a/1190000010411198Reference:
linux网络编程
之soc
amc
·
2017-07-29 00:00
linux
fork
进程
服务器
c
Linux网络编程
之epoll服务器
epoll同上篇博客中的select一样,都是用于多路转接,但epoll被公认为Linux2.6下性能最好的多路I/O就绪通知方法。一、epoll相关系统调用epoll只有三个系统调用函数:epoll_create:创建epoll模型epoll_ctl:管理epoll模型epoll_wait:等待I/O时间就绪events可以是以下几个宏的集合:EPOLLIN:表示对应的文件描述符可以读(包括对端
深山夕照
·
2017-06-29 20:34
linux
linux网络编程
UDP聊天程序 包括群聊和私聊
原文地址:http://blog.csdn.net/yanghaoran321/article/details/7885937程序功能:能够支持多个客户端同时运行,具有群聊,私聊,上线通知,下线通知,系统消息等功能。程序如下:1.server.c#include#include#include#include#include#include#include#include#include#defi
夏尔的骄傲-JianChe
·
2017-06-19 14:30
linux
linux网络编程
之UDP编程
在网络传输协议中,TCP协议提供的是一种可靠的,复杂的,面向连接的数据流(SOCK_STREAM)传输服务,它通过三段式握手过程建立连接。TCP有一种“重传确认”机制,即接收端收到数据后要发出一个肯定确认的信号,发送端如果收到接收端肯定确认的信号,就会继续发送其他的数据,如果没有,它就会重新发送。相对而言,UDP协议则是一种无连接的,不可靠的数据报(SOCK_DGRAM)传输服务。使用UDP套接口
happyguys12345
·
2017-06-10 11:17
网络
浅析
linux网络编程
基础API
linux网络API分为三个方面:(1)socket地址api。socket最开始的含义是一个IP地址和端口对(ip,port)。它唯一地表示了使用TCP通信的一端。称为socket地址。(2)socket基础api。socket主要api定义在sys/socket.h这个头文件中,包括创立socket,命名socket,接受连接,读写数据,获取地址信息,检测带外标记,以及读取和设置socket选
f905699146
·
2017-06-09 00:51
linux下服务器编程
tinyhttpd-0.1.0源码分析
可以作为初级学习
Linux网络编程
或者C/C++入门小程序学习。此程序为开源项目。前期准备我个人理解的B/S架构是:1.server先在相应的机器上运行起来,之后server程序检测端口是否有请求。
cslqm
·
2017-06-06 11:10
Linux环境编程
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
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
其他