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网络
编程--使用epoll,共享内存技术实现高性能的聊天室程序
本篇博文主要介绍使用epoll和多进程的共享内存技术实现高性能的聊天室的服务器程序。#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#defineUSER_LIMIT5#defineBUFFE
奔跑吧,行者
·
2020-08-08 22:59
Linux网络
编程--使用epoll模型同时处理tcp和udp服务
在实际工作中,服务器需要同时监听和处理tcp和udp的套接字,同时监听N多的端口。根据bind系统调用来讲,一个socket只能监听一个端口,因此要创建多个socket并绑定到各个端口上。当然同一个端口可以同时绑定tcp和udp的socket,但是要创建两个socket,一个是tcp的一个是udp的。下面我们就写一个可以同时处理tcp和udp服务的回射服务器。#include#include#in
奔跑吧,行者
·
2020-08-08 22:59
深入
linux网络
编程(二):异步阻塞IO —— select
作者:
[email protected]
新浪微博@孙雨润新浪博客CSDN博客日期:2012年11月17日1.异步阻塞IO当从一个描述符读,写到另一个描述符时,可以在下列形式的循环中使用阻塞IO:while((n=read(STDIN_FILENO,buf,BUFSIZ))>0)if(write(STDOUT_FILENO,buf,n)!=n)err_sys("writeerror");这种形式的
sunyurun
·
2020-08-08 21:03
Network
第九章-进程关系
进程关系终端登录BSD终端登录linux终端登录网络登录BSD网络登录
Linux网络
登录进程组会话控制终端函数tcgetpgrp、tcsetpgrp和tcgetsid作业控制终端登录BSD终端登录init
xiangke975
·
2020-08-08 21:32
unix环境高级编程
Linux内核
嵌入式
linux网络
编程中listen函数 backlog的含义
结论:backlog是用来指定在TCP连接时,同时进行3次握手建立连接的客户端数量listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是:#includeintlisten(intsockfd,intbacklog)返回:0──成功,-1──失败参数sockfd被listen函数作用的套接字,sockfd之前由socket函数返回。在被socket函数返回的套接字fd之
star871016
·
2020-08-08 21:00
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
sinat_35297665
·
2020-08-08 21:33
Linux网络编程
Linux网络
编程(四)——点对点聊天程序实现
目录文章目录目录前言函数介绍`setsockopt``fork`函数代码示例点对点聊天程序实现实现要点实现代码总结链接地址前言这篇文章记录了实现一个简易点对点聊天程序的过程,软件开发比较好的地方就是能够看到许多日常事务的本质,但也导致出去玩的时候会没有惊奇感,不过知道更多的未知的才会更有意思吧!函数介绍setsockopt服务器端尽可能使用SO_REUSEADDR。在绑定之前尽可能调用setsoc
simonXi-tech
·
2020-08-08 21:11
网络编程
网络编程
linux网络
编程/多线程多进程服务器与进程线程池
一、多进程服务器1、服务器端代码:#include#include#include#include#include#include#include//./tcp_server127.0.0.18080staticvoidusage(constchar*proc){printf("Usage:%s[local_ip][local_port]\n",proc);}intstartup(constcha
gilr
·
2020-08-08 21:32
linux
linux网络
报文接收发送浅析
对于linux内核来说,网络报文由网络设备来进行接收。设备驱动程序从网络设备中读取报文,通过内核提供的网络接口函数,将报文传递到内核中的网络协议栈。报文经过协议栈的处理,或转发、或丢弃、或被传送给某个进程。网络报文的发送与之相反,进程通过系统调用将数据送入网络协议栈,或者由网络协议栈自己发起报文的发送,然后协议栈通过调用网络接口函数来调度驱动程序,使其将报文传送给网络设备,从而发送出去。本文讨论的
raindy2005
·
2020-08-08 20:15
Linux网络
编程实验——进程池实现服务器
这是学习
Linux网络
编程以来的第一个相对比较长的实验。途中遇到了许多乱七八糟的问题以致感觉自己迷迷糊糊的,所以打算把这些记下来算作梳理。
Little Prince~
·
2020-08-08 20:06
Kali
linux网络
环境设置以及环境更新(二)
1.使用桥接的方式2.回到kalilinux中发现还ping不通,需要在终端重新配networkmananger使用nano进入到NetworkManager.conf,把managed=false改为truectrl+o保存ctrl+x退出3.重启服务4.测试4.apt-getupdate(这些更新要经常做)5.apt-getupgrade6.更新kalilinux中的四个库在sources.l
killuaZold
·
2020-08-08 19:51
Linux网络
编程 - 异步 I/O 的探讨
概念第一种是阻塞I/O。阻塞I/O发起的read请求,线程会被挂起,一直等到内核数据准备好,并把数据从内核区域拷贝到应用程序的缓冲区中,当拷贝过程完成,read请求调用才返回。接下来,应用程序就可以对缓冲区的数据进行数据解析。第二种是非阻塞I/O。非阻塞的read请求在数据未准备好的情况下立即返回,应用程序可以不断轮询内核,直到数据准备好,内核将数据拷贝到应用程序缓冲,并完成这次read调用。注意
囚牢-峰子
·
2020-08-08 19:02
Linux网络编程
Linux网络
编程 - C10K问题:高并发模型的设计初篇
C10K问题这一篇,借着C10K问题,系统地梳理一下高性能网络编程的方法论。C10K问题是这样的:如何在一台物理机上同时服务10000个用户?这里C表示并发,10K等于10000。得益于操作系统、编程语言的发展,在现在的条件下,普通用户使用JavaNetty、Libevent等框架或库就可以轻轻松松写出支持并发超过10000的服务器端程序,甚至于经过优化之后可以达到十万,乃至百万的并发。操作系统层
囚牢-峰子
·
2020-08-08 19:31
Linux网络编程
C10K问题本质
C10K解决方法
C10K阻塞I/O方法
CC10K非阻塞I/O方法
Linux网络
基础三:子网分析
一、基于IPv4地址格式的计算首先,对于任何子网,当得知主机位的位数时,就能够计算出该子网中主机IP地址的数量,其次,如果整个网络只使用一个掩码,那么得知该子网位的数量,就能计算出网络中子网的数量。IPv4地址的长度为32位,我用以下字母来代替各个专有名词,子网中的主机数:2^H-2,其中H为主机位的数量。网络中的子网数:2^S,其中S为子网位的数量。将子网掩码转换为CIDR格式,记为P。A类网络
mr.linshadow
·
2020-08-08 17:52
Linux运维
Linux网络
基础四:常见网络管理命令
Linux常见网络管理命令一、hostname:显示或者设置系统主机名1.语法hostname【选项】【参数】2.功能介绍hostname命令用来显示或者设置系统主机名。3.选项说明选项说明-a显示主机的别名-d显示主机的DNS域名-F从指定文件读取主机名-f显示完全合格的域名(FQDN),FQDN包括一个短的主机名和一个DNS域名两部分-i显示指定主机的IP地址-s仅显示以第一个点符号分割的完全
mr.linshadow
·
2020-08-08 17:52
Linux运维
Linux网络
基础设置
Linux网络
设置一、查看网络配置及配置命令1.ifconfig命令查看网络接口地址#ifconfig与ifconfig-a类似//查看所有网络接口信息#ifconfigens33//查看指定的网络接口信息
lailiqian_dremer
·
2020-08-08 17:39
Linux网络
编程--多线程实现echo服务器与客户端“一对多”功能,网络编程的“Hello World!” - 壮壮熊
在linux平台下,用多线程实现echo服务器与客户端“一对多”(即是一台服务器可以响应多个客户端的请求)。本人写了个demo,和大家一起分享,有不足的地方,请多多指教,我是壮壮熊。编译时,在后面加上-lpthread。例如:g++service2.cpp-oservice2-lpthread。否则会提示线程方面的错误。echo服务器端代码:#include#include#include#inc
imxiangzi
·
2020-08-08 16:17
Linux/网络
深入理解
Linux网络
技术内幕-设备注册和初始化(三)
net_device结构是一个非常庞大的数据结构,其中的字段包含了从硬件层、网络层和传输层等各种功能涉及的参数,因此,其初始化也是分批由不同的函数完成的,相当于每个函数负责其中相关联的一些子集字段,大致分为:设备驱动程序:完成与硬件配置相关的IRQ、I/O内存以及I/O端口等字段通用设备类型:对同一类设备的一些共性字段由内核实现的通用类型初始化函数完成,如ether_setup、fddi_setu
fengzhishang_meteor
·
2020-08-08 15:21
Linux
Kernel
Network
继iptables之后的新一代包过滤框架是nftables
一气呵成不知是自夸还是自嘲,权当小时候写的日记吧,自幼喜欢每天写日记,中学时更是以退士为名折腾了几箱子抄本,前几年由于喝酒就改为周记了,现在意识到了生命短暂,时间甚是不够用,不能在迷迷糊糊中得过且过,就准备把自己知道的关于
Linux
dog250
·
2020-08-08 15:10
高并发
linux网络
服务器核心代码实现-传智-专题视频课程
高并发
linux网络
服务器核心代码实现—13954人已学习课程介绍当你在使用libevent/libev和Apache/Nginx构建你的服务器时,你是否对网络底层通信了解呢?
传智播客教育集团
·
2020-08-08 15:01
视频教程
linux网络
编程入门——基于socket的proxy
学习
Linux网络
编程有一段时间了,作为一个总结,写一个基于socket的proxy,算是复习前面的所学。
clearriver
·
2020-08-08 14:09
socket
编程
网络
linux
服务器
java
Linux网络
编程 使用epoll实现一个高性能TCP Echo服务器
#零、前言在
Linux网络
编程中,使用I/O复用来处理大规模并发连接是一种常见的方法,常用的有select、poll、epoll,本文主要讲述epoll的使用方法,并使用epoll实现一个高性能的Echo
chengjuelai7601
·
2020-08-08 14:30
【
Linux网络
编程】基于TCP的线程池(pthread_pool)版本HTTP服务器
(线程池代码参考网上的)服务器代码:#include#include#include#include#include#include#include#include"mypthreadpool.h"#defineSOCK_FAIL1#defineBIND_FAIL2#defineLISTEN_FAIL3#defineUSE_ERROR4#defineACCPET_FAIL5intamount=0;
春风来不来
·
2020-08-08 13:31
linux
同步异步/阻塞非阻塞 和 5种
linux网络
通信模型
/7453390会阻塞的函数:connect,accept,send/recv/sendto/recvfrom等读写函数.不会阻塞的函数:bind,listen,socket,closesocket.
linux
FreedomRoad~
·
2020-08-08 12:54
网络编程
poll服务器
想详细彻底地了解poll或看懂下面的代码请参考《
Linux网络
编程——I/O复用之poll函数》代码:[csharp]viewplaincopyincludeincludeincludeincludeincludeincludeincludeincludeincludeincludeincludedefineOPEN_MAX100intmain
BUG_SPECIAL
·
2020-08-08 12:44
linux
网络编程
服务器
linux
嵌入式学习小阶段小总结
接触嵌入式以来,虽然毕业设计的内容只是研究应用开发,但是还是研究了一段时间的底层内容
Linux网络
:桥接模式:主机能够提供多种IP.主机模式:没有外部网络,只能在VM和主机通讯。
yujunyu12
·
2020-08-08 12:57
嵌入式入门
Linux网络
编程 - TCP Socket 简单练习:线程池实现并发服务器
服务器函数执行流程maininit_systemcreat_pthread_poolchild_workthread_managertask_managerprocess_clientmonitorsys_cleanMakefile文件[plain]viewplaincopyprint?CC=gccTARGET=pthread_poolSRC=pthread_pool.cbase.cOBJECT=
ygl840455828ygl
·
2020-08-08 12:21
linux编程之网络编程
《linux设备驱动开发详解》笔记——14
linux网络
设备驱动
14.1网络设备驱动结构网络协议接口层:硬件无关,标准收发函数dev_queue_xmit()和netif_rx();注意,netif_rx是将接收到的数据给上层,有时也在驱动收到数据以后调用。网络设备接口层,net_device,统一接口名称,使上层独立于具体硬件。设备驱动功能层,实现net_device的各成员物理层在整个以太网架构里,有两个数据结构非常重要,即sk_buff和net_devi
z-pan
·
2020-08-08 11:41
linux网络
编程之简单的线程池实现
转眼间离15年的春节越来越近了,还有两周的工作时间貌似心已经不在异乡了,期待与家人团聚的日子,当然最后两周也得坚持站好最后一班岗,另外期待的日子往往是心里不能平静的,越是想着过年,反而日子过得越慢,于是乎,还是用学习来充斥这些碎片时间,当人一充实,时间也就过得快了,继续学习:上次中已经用互斥锁与条件变量来改造了生产者与消费者问题,这次利用它来实现一个线程池,加强对条件变量及互斥锁的认识,下面开始:
weixin_30647065
·
2020-08-08 11:40
linux网络
编程之多线程多进程服务器与进程线程池
一.实现tcp服务端多进程编写#include#include#include#include#include#include#includestaticvoidusage(constchar*proc){printf("Usage:%s[local_ip][local_port]\n",proc);}intstartup(constchar*_ip,int_port){intsock=socke
someday1314
·
2020-08-08 11:43
linux
网络编程
线程池进程池
Linux网络
编程——tcp并发服务器(多进程)
http://blog.csdn.net/lianghe_work/article/details/46503895一、tcp并发服务器概述一个好的服务器,一般都是并发服务器(同一时刻可以响应多个客户端的请求)。并发服务器设计技术一般有:多进程服务器、多线程服务器、I/O复用服务器等。二、多进程并发服务器在Linux环境下多进程的应用很多,其中最主要的就是网络/客户服务器。多进程服务器是当客户有请
sinat_35297665
·
2020-08-08 11:41
Linux网络编程
Linux网络
编程实验——线程池实现服务器
本实验是按照《Linux高性能服务器编程》15.5节实现的。原理很简单,就是利用epoll+多线程对客户请求进行处理。代码已经放在了git仓库,下面记录了几个我遇到的问题。1.异常表现:在进行压测时,服务器会触发许多对-1文件描述符的异常关闭。 这个问题我排查了很久,最后发现原来是因为自己不熟悉多线程编程而导致的。 对于每一个客户连接我都使用一个实体类来表示,其中也包括这个连接的文件描述符
Little Prince~
·
2020-08-08 11:03
【
Linux网络
编程】高并发服务器编程 -- 进程池与线程池
【
Linux网络
编程】高并发服务器编程--进程池与线程池【1】动态创建进程/线程实现高并发的缺点耗费时间,响应慢;动态创建的子进程/子线程通常只能为一个客户服务,将导致系统产生大量的细微进程/线程,进程
奋斗企鹅copper
·
2020-08-08 11:42
网络编程
Linux高并发网络编程开发——10-Linux系统编程-第10天(网络编程基础-socket)
10-Linux系统编程-第10天(网络编程基础-socket)一、
Linux网络
编程阶段二、网络基础1、网络开发两种设计模式》协议的概念什么是协议?
AllisWell_WP
·
2020-08-08 11:04
Linux网络
编程之进程、线程池及实现简单线程池
一、池的概念由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正式运行阶段,即开始处理客户请求的时候,如果它需要相关的资源,就可以直接从池中获取,无需动态分配。很显然,直接从池中取得所需资源比动态分配资源的
深山夕照
·
2020-08-08 11:01
linux
Linux网络
编程——epoll服务器编写
epoll服务器端代码:#include#include#include#include#include#include#include#includestaticvoidusage(constchar*proc){printf("Usage:%s[local_ip][local_port]\n",proc);}typedefstructfd_buf{intfd;charbuf[10240];}f
BUG_SPECIAL
·
2020-08-08 10:44
linux
Linux网络
编程——线程池架构
线程池概念及用途概念:实质就是一个装着线程的的容器,线程池一种多线程的处理方式,处理过程间任务添加到队列,然后创建线程后自动启动这些任务。比喻:这有点像去街上借的共享充电宝,收集这些充电宝的盒子就是线程池,充电宝就是线程。每个人去拿共享充电宝,就相当于是充电宝接任务。从这个比喻可以知道,共享充电宝收集盒(线程池)里面要先有一些充电宝(已经创建好的线程)才行。为什么要有线程池:节省资源,每次来一个客
励志成为编程大佬
·
2020-08-08 10:01
Linux网络编程
Linux网络
编程——高并发服务器之epoll模型
事前准备(可忽略)在这之前我们需要先看看自己的虚拟机能够连接最大客户端数(可以说是设置最大打开文件描述符限制),并且进行修改。按一下步骤进行输入(不同版本的虚拟机查出来的数目可能会有些差异,但是这些指令都是可以用的)输入ulimit–n来看可连接最大客户端数(如果你是32位的虚拟机可能是1024)输入sudovi/etc/security/limits.conf写入以下配置,soft软限制,har
励志成为编程大佬
·
2020-08-08 10:00
Linux网络编程
Linux网络
编程——高并发服务器之select模型
1、前言1.1、IO模型下面用服务器比成车站,客户端比喻成小明。传统阻塞模型:小明去车站买票,没买到票就在车站等待,直到有车票为止。非阻塞模型:小明去车站买票,没票的话,他没过一段时间就去看看有没有票,没有票就回去。他消耗了来回的这一个过程,但是不用等待。多路转接IO复用:委托黄牛来购票。select模型就是属于这一类。下面我用两张图来描述两种1.2、select模型概念select能监听的文件描
励志成为编程大佬
·
2020-08-08 10:00
Linux
sk_buf, 再转载,太经典了 - 网络协议栈分析 - 草本植物
本文转自:http://www.360doc.com/content/09/0205/16/36491_2466152.shtml#sk_buff结构可能是
linux网络
代码中最重要的数据结构,它表示接收或发送数据包的包头信息
EthanYYYY
·
2020-08-08 02:05
Linux设备驱动
LINUX网络
基础(四)---数据链路层
以太网帧格式源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的帧协议类型字段有三种值,分别对应IP、ARP、RARP帧末尾是CRC校验码mac地址MAC地址用来识别数据链路层中相连的节点;长度为48位,及6个字节.一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)在网卡出厂时就确定了,不能修改.mac地址通常是唯一的(虚拟机中的
sweeeeeet
·
2020-08-08 00:34
网络
解决
Linux网络
不通问题(Linux安装完后解决方案)
Linux安装完后第一个问题就是解决网络不通问题问题图片如下解决办法三种网络模式桥接模式:虚拟机和宿主机是兄弟关系,统一由宿主机链接的路由器分发ipnat模式:虚拟机和宿主机是父子关,宿主机的vmnet8虚拟网卡充当路由器分发ip由于虚拟网卡也要占用一个ip所以虚拟网关是从2开始的仅主机模式:虚拟机和宿主机是共同关系,很少用到一般用的是nat模式修改主机名hdf01Vi/etc/sysconfig
易霜
·
2020-08-08 00:32
Linux
网络
以cpsw为例学习linux设备树
CPSW或者说以太网调换驱动遵循标准的
linux网络
接口构造。对于TI的am
bigPillow
·
2020-08-07 21:40
设备树
菜鸟学Linux 第066篇笔记 简单配置iptables
菜鸟学Linux第066篇笔记简单配置iptables
Linux网络
防火墙netfilter:frameiptables:数据报文过滤,NAT,mangle等规则生成的工具网络:IP报文首部,TCP报文首部
weixin_33843947
·
2020-08-07 20:42
Linux网络
编程
WhatSocket也是一种IPC,允许同一计算机不同应用程序通信或者不同计算的应用程序通过网络连接进行通信。socket类型有两种:字节流式socket双向可靠面向连接的字节流传输,对应的就是TCP传输数据报socket数据报的消息形式交换,不可靠,无连接,消息到达是无序、重复或者甚至不能到达,对应UDP传输相关系统调用创建套接字#include/*SeeNOTES*/#includeintso
_忘语_
·
2020-08-07 16:23
Linux系统编程
树莓派remot3.it外网访问最新--添加多个服务
本文章为开启
服务篇
,安装remot3.it请看:树莓派remot3.it外网访问最新--安装weavedconnectd原英文教程:https://remot3it.zendesk.com/hc/en-us
albergemPi
·
2020-08-07 12:19
服务器
LAMP
remot3.it
Raspberry
Raspberry
apache
lamp
linux
linux网络
端口失效( Device eth0 does not seem to be present,delaying initialization)解决方法
今天使用Xshell5连接本地虚拟机时发现连不上,使用ifconfig命令查看网络端口发现eth0挂掉了,查看eth0端口网络配置发现配置信息完整。servicenetworkrestart重启网络提示Deviceeth0seemtobepresent,delayinginitalization。网上查资料发现原来是eth0的网络配置中MAC地址配置有误。解决方法:1、vi/etc/sysconf
阑夕的夕
·
2020-08-07 09:35
Linux
linux网络
编程TCP多人聊天室
用socket实现一个多人聊天室的思路很简单,即在服务器端定义一个fd的int型数组,用来存储已经连接的客户端的socket连接套接字fd(因为发送和接收数据都只需要借助连接套接字fd),当服务器接收到来自某一客户端的数据时,直接转发给其他所有连接着的客户端,即完成了多人聊天室服务器端:多线程进行数据的转发,记录聊天记录,向客户端发送进入退出聊天室提醒。客户端:在主线程内发送数据,多线程接收其他客
哈根达斯f
·
2020-08-06 13:36
Linux网络
服务-PXE高效批量网络装机(部署PXE远程安装与kickstart无人值守安装)
文章目录一、部署PXE远程安装服务1.1搭建PXE远程安装服务器1.1.1PXE概述1.1.2配置PXE装机服务器1.2验证PXE网络安装二、实现Kickstart无人值守安装2.1准备安装应答文件2.2实现批量自动装机总结pxe网络装机和kickstart技术综合应用三个服务tftp四个文件tftp主配置文件和站点ftp站点一、部署PXE远程安装服务1.1搭建PXE远程安装服务器1.1.1PXE
ycycyyc_
·
2020-08-05 21:55
Linux网络服务
iptables-
服务篇
文章目录installiptables开放端口及配置生效默认iptables-configiptableshelpstartnginxinstalliptablesyuminstalliptables-services开放端口及配置生效#保存配置serviceiptablessave#开放端口iptables-IINPUT-ptcp--dport80-jACCEPT默认iptables-confi
xyh592
·
2020-08-05 21:19
iptables
上一页
37
38
39
40
41
42
43
44
下一页
按字母分类:
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
其他