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
Linunx服务器编程
TCP编程步骤概述
刚刚接触到
服务器编程
的知识,来温习一下,实现最基本的TCP服务器和客户端编程流程TCP协议是面向连接的、可靠的、字节流服务。
judgejames
·
2020-08-21 02:22
Linux
网络编程
编程语言
centos下go环境搭建及hello world
Go适合用来做什么
服务器编程
,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
爱代码也爱生活
·
2020-08-20 17:19
go语言
PostgreSQL之SQL函数介绍及实践(二)
而PostgreSQL除了支持SQL标准所支持的函数外,也可以使用不同的
服务器编程
接口来实现自定义函数,以针对不同的业务需要进行针对性开发。今天来给大家介绍一下PostgreSQL中的字符串处理函数。
晟数学院
·
2020-08-20 17:15
数据库
sql
postgresql
PostgreSQL之SQL函数介绍及实践(二)
而PostgreSQL除了支持SQL标准所支持的函数外,也可以使用不同的
服务器编程
接口来实现自定义函数,以针对不同的业务需要进行针对性开发。今天来给大家介绍一下PostgreSQL中的字符串处理函数。
晟数学院
·
2020-08-20 17:14
数据库
sql
postgresql
IOCP加Windows线程池打造高伸缩性高性能的服务器应用
对于IOCP,搞Windows
服务器编程
的都不会陌生,它所表现出来的性能是其他各种WinSock模型难望其项背的。
wzwind
·
2020-08-20 13:54
C++
go 构建微服务程序
因此,掌握HTTPResourceAPI的设计方法与工具、golang客户端与
服务器编程
要点是必须get的技能。
pmlpml
·
2020-08-20 05:31
golang
Linux IO复用--select()和poll()
《Linux高性能
服务器编程
》阅读笔记: Linux系统中IO复用的系统调用有selece()、poll()和epoll()。
mybright_
·
2020-08-20 01:16
Linux系统/网络编程
Linux编程
多线程
服务器编程
之muduo中base库与net库详细注释
muduo学习寒假写的,这个是github链接,之前一直写的比较乱,今天终于抽出时间整理了一下。前言:寒假在学习muduo的时候,将muduo中net库和base库源码进行了注释,基本所有的重要代码都进行了详细注释,比较重要的类比如Eventloop类,Channel类部分函数每行都进行了注释,还改进了几个小功能,比如Exception类增加了处理函数名的功能,在使用时看起来更加方便。muduo各
Randy__Lambert
·
2020-08-19 05:08
Unix网络编程相关
C++相关
基于UDP协议的接收和发送实验
基于UDP协议的接收和发送实验导语一实验内容二UDP编程框架1UDP
服务器编程
框架2UDP客户端编程框架三UDP协议程序设计的常用函数1建立套接字socket和绑定套
夏天的风铃_
·
2020-08-19 02:42
《Linux高性能
服务器编程
》学习笔记——第五章 Linux网络编程基础API(2)
现在学习Linux网络编程基础API第二个部分,socket编程的基础操作API。二、socket基础API1、创建socketlinux中一切皆文件,socket是可读可写可控制可关闭的文件描述符。创建socket的系统调用:#include#includeintsocket(intdomain,inttype,intprotocol);domain参数表示使用哪个底层协议族,TCP/IP时该参
爱很遥远
·
2020-08-18 23:26
互联网-网络编程
Linux 网络编程之TCP服务器端实例(一)
TCP编程模型实例(一)TCP客户端
服务器编程
模型客户端调用序列调用socket函数创建套接字调用connect链接服务器端调用I/0函数(read/write)与服务器端通讯调用close关闭套接字服务器端调用序列调用
liuttqdm
·
2020-08-18 23:12
linux网络
Linux网络编程基础API--TCP的数据读写API
《Linux高性能
服务器编程
》阅读笔记:1.TCP通信的读写(收发)接口 因为”Linux系统上”一切皆是文件”,那么自然读写文件用的APIread()/write()同样适用于socket。
mybright_
·
2020-08-18 19:24
Linux系统/网络编程
Linux编程
Linux网络编程基础API--socket文件描述符API
《Linux高性能
服务器编程
》阅读笔记:1.创建socket Linux系统上”一切皆是文件“,socket也不例外,它是可读/可写/可控制/可关闭的文件描述符。
mybright_
·
2020-08-18 19:52
Linux系统/网络编程
Linux编程
Linunx
内核链表 --- 缺
内核链表是在Linux系统里面自带的一个提供给系统调用的控制双向循环链表这种数据结构一系列函数接口,它的原型其实就是我们之前学的双向循环链表,我们可以在Linux官方网下载源码,内核源码里面就要内核链表的相关功能函数接口,不言而喻,这些函数接口就是我们一直学的对链表进行增、删、改、查...的API,也就是说内核链表也就是提供对双向循环链表指针的操作的函数接口。代码项目文件:my_kernel_li
「已注销」
·
2020-08-18 13:16
嵌入式Linux开发
singly_linked
乱谈
服务器编程
乱谈
服务器编程
第一部分编程模型1、
服务器编程
模型关于server编程模型,大师stevens在他的《UNP》一书中已经做了详细论述,这里不再重复,这里主要讲一下我的一些理解。
weixin_33866037
·
2020-08-18 09:06
网络
服务器编程
——事件选择模型
4.3.3事件选择模型事件选择模型将每个套接字和每个WSAEVENT对象对应起来,并且在注册的时候指定需要关注的哪些网络事件。缺陷:不能同时处理多个套接字,只能同时处理一个事件对应的套接字;一个线程中处理的套接字有限,一般为64;应用程序中要处理大于64个套接字,必须额外创建线程。//事件选择TCP服务器端#include#include#pragmacomment(lib,"Ws2_32.lib
BingLZg
·
2020-08-17 11:51
erlang
服务器编程
思想和实现
刚刚读了一本书,读到最后书里写到,本节是本书的精华说在,如果读者读一遍不能理解,那就多读两遍,有必要的话读100遍也在所不惜,不求倒背如流,但求运用自如。下面会写到4个服务器程序,他们以server1,server2...这样的方式命名,好戏即将开始深吸一口气,go!!1.server1原始服务器程序server1.erl-module(server1).-export([start/2,rpc/
iteye_4537
·
2020-08-17 00:26
游戏
服务器编程
拼包函数及网络封包的异常处理(含代码)本文作者:sodme本文出处:http://blog.csdn.net/sodme声明:本文可以不经作者同意任意转载、复制、传播,但任何对本文的引用都请保留作者、出处及本声明信息。谢谢!常见的网络服务器,基本上是7*24小时运转的,对于网游来说,至少要求服务器要能连续工作一周以上的时间并保证不出现服务器崩溃这样的灾难性事件。事实上,要求一个服务器在连续的满负荷
TEE168
·
2020-08-16 05:57
编程
【Linux网络编程】高并发
服务器编程
-- Reactor模式与Proactor模式
【Linux网络编程】高并发
服务器编程
--Reactor模式与Proactor模式【0】传统阻塞I/O服务模型特点1.采用阻塞式I/O模型获取输入数据;2.每个连接都需要独立的线程完成数据输入,业务处理
奋斗企鹅copper
·
2020-08-15 21:10
网络编程
服务器编程
心得(五)—— 如何编写高性能日志
一、服务器端日志与客户端日志的区别在正式讲解之前,我们先来看一个日志类的实现方法,这个日志类也是代表着大多数客户端日志的主流写法:/***@desc:程序运行log类,log.h*@author:zhangyl*@date:2017.01.17**/#ifndef__LOG_H__#define__LOG_H__#ifdef_ZYL_LOG_#defineLogInfo(...)Log::GetI
analogous_love
·
2020-08-14 16:59
服务器端编程心得
高性能服务器编程实现细节详解
libevent源码笔记(一) Reactor框架
1.libevent概述在
服务器编程
中,I/O事件、信号和定时事件是服务器程序基本都要处理和考虑的三类事件。统一处理这三类事件能使代码逻辑清晰,简单易懂。比较常用的处理方法是利用I/O复用系统。
thulpf
·
2020-08-14 07:01
libevent
服务器编程
框架的两种高效的事件处理模式——Reactor模式 + Proactor模式
两种高效的事件处理模式——Reactor模式+Proactor模式Reactor模式+Proactor模式1、背景(两句话把握基本思想)2、Reactor模式2.1、事件处理流程2.2、Reactor模型发展3、Proactor模式3.1、事件处理流程3.2、同步I/O方式模拟Proactor模式4、Reactor和Proactor优缺点和对比参考Reactor模式+Proactor模式1、背景(
JMW1407
·
2020-08-14 05:48
网络编程
Reactor模式
Proactor模式
linux下安装python3.7和安装MySQL和服务器部署项目
Linux入门Linux服务器搭建工作需要掌握的核心点虚拟机使用
Linunx
安装(注意事项)服务器搭建[重点]网络配置[真实阿里云服务器已经联网了]SSH连接远程服务器(putty)FTP文件传输(winscp
weixin_34419321
·
2020-08-13 21:47
Linux高性能
服务器编程
:进程池和线程池原理及应用(有图有代码有真相!!!)
一、问题引入在前面编写多进程、多线程服务器时通过动态创建子进程和子线程来实现并发服务器,这样做有以下缺点:1)动态创建进程、线程将会比较耗费时间,将导致较慢的客户响应。2)动态创建的子进程只为一个客户服务,将会产生大量的细微进程或线程,进程或线程之间的切换将耗费CPU大量的时间。3)动态创建的子进程是当前进程的完整映像,当前进程必须谨慎管理其分配的文件描述符和堆内存等系统资源,否则子进程可能复制这
Sharp_UP
·
2020-08-13 12:05
操作系统
Linux(
服务器编程
3.1):---高并发线程池的设计(c实现pthread_pool)
一、设计线程池的优点、作用线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进
Daback01
·
2020-08-13 11:15
后端服务器开发
Linux多线程编程之员工信息管理系统
员工信息管理系统是基于Linux多线程并发
服务器编程
,由服务器端和客户端构成,客户端可以运行在多个不同的主机上连接服务器,服务器对员工信息的操作结果通过“员工信息文件”来保存,即:“员工信息”存放在后台的文件中
cnhui2016
·
2020-08-12 01:27
Userspace开发
golang http 编程-1(
服务器编程
)
http编程http常见请求方法1.Get请求,请求一个页面或者信息2.Post请求,提交一个表单给服务器使用3.Put请求,创建一个资源,一般上传文件使用该方法4.Delete请求,删除一个信息使用该方法5.Head请求,只请求httpheader,一般监测网站状态使用该方法6.OPTIONS请求,一般监测网站支持的http方法列表7.TRACE请求(不常用),一般使用监测使用8.LOCK请求(
赵高龙
·
2020-08-12 00:26
golang
开发
Linux高性能
服务器编程
(二)
文章目录5.网络编程api5.1主机字节序、网络字节序5.2创建socket5.3绑定地址5.4创建一个监听队列来存放待处理的客户连接5.5从监听对列中接受一个连接5.6发起连接5.7关闭连接5.8数据读写5.9获取socket地址(本端、对端)5.10获取、设置socket选项5.11根据主机名(IP)获取主机的完整信息5.12根据名称(端口号)获取某个服务的完整信息6.高级I/O函数6.1pi
神秘的火柴人
·
2020-08-09 04:44
读书笔记
Linux高性能
服务器编程
(一)
1.TCP/IP协议族:数据链路层:实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。不同物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。ARP,RARP网络层:实现数据包的选路和转发。通信的两台主机一般不是直接相连的,网络层选择这些中间节点,以确定两台主机之间的通信路径,隐藏了网络拓扑结构,使得在传输层和网络应用程序看来,通信双方是直接相连的。IP
_Zqqq
·
2020-08-09 04:47
Linux高性能服务器编程
网络编程
Linux高性能
服务器编程
--线程池
用多进程或多线程实现并发服务器时有一些缺点:(1)、动态创建子进程(或线程)比较耗费时间,会导致较慢的客户响应。(2)、动态创建子进程(或线程)通常只用来为一个客户服务,这将导致系统上产生大量的细微进程(或线程)。进程(线程)间的切换将消耗大量的CPU时间。所以有了池的概念。池:在初始时,申请比刚开始要使用的资源大的资源空间,在接下来使用时,直接从池中获取资源。对比多线程,多线程如果存在客户端链接
zhuoya_
·
2020-08-09 04:43
Linux
多线程并发
服务器编程
多线程并发
服务器编程
一、实验目的理解线程的创建和终止方法;学会编写基本的多线程并发服务器程序和客户程序;理解多线程与多进程的区别。
yueguanghaidao
·
2020-08-09 03:52
c++/c
Linux高性能
服务器编程
——多线程编程(下)
多线程编程条件变量如果说互斥锁是用于同步线程对共享数据的访问的话,那么条件变量则是用于线程之间同步共享数据的值。条件变量提供了一种线程间的通信机制:当某个共享数据达到某个值得时候,唤醒等待这个共享数据的线程。条件本身是由互斥量保护的。线程在改变条件状态前必须首先锁住互斥量,其他现成在获得互斥量之前不会察觉到这种变化,因为必须锁住互斥量以后才能计算条件。条件变量的相关函数主要有如下5个:#inclu
walkerkalr
·
2020-08-08 23:46
网络编程
Linux网络编程实验——进程池实现服务器
实验取自《Linux高性能
服务器编程
》15.3节 代码已经全部上传到我的github仓库,文后附上链接。
Little Prince~
·
2020-08-08 20:06
服务器编程
——gethostbyname函数
使用这个函数,首先要包含2个头文件:#include#includestructhostent*gethostbyname(constchar*name);这个函数的传入值是域名或者主机名,例如”www.google.com”,”wpc”等等。传出值,是一个hostent的结构(如下)。如果函数调用失败,将返回NULL。structhostent{char*h_name;char**h_alias
长着胡萝卜须的栗子
·
2020-08-08 17:29
计算机网络
IO多路复用之select函数详解
IO复用我们首先来看看
服务器编程
的模型,客户端发来的请求服务端会产生一个进程来对其进行服务,每当来一个客户请求就产生一个进程来服务,然而进程不可能无限制的产生,因此为了解决大量客户端访问的问题,引入了IO
长着胡萝卜须的栗子
·
2020-08-08 17:28
Linux
《linux高性能
服务器编程
》学习笔记(一)
一。tcp/ip协议族四层协议系统:应用层:pingtelnetOSPFDNS(用户空间)传输层:TCPUDPSCTP(流控制传输协议)网络层:ICMPIP数据链路层:ARPRARP数据链路层:实现了网卡家口的网络驱动程序,以处理数据在物理媒介上的传输。网络层:实现数据包的选路和转发。由于通信的两台主机一般不是直接相连的,而是通过多个中间节点(路由器)连接的。所以说网络层的任务就是选择这些中间节点
张林林hey
·
2020-08-08 16:34
linux
Linux C网络编程 ————4、多线程
服务器编程
服务器端代码实现#include#include#include#include#include#include#include#include#include#definePORT1234#defineBACKLOG5#defineMAXDATASIZE1000voidprocess_cli(intconnfd,structsockaddr_inclient);void*function(voi
FLy_鹏程万里
·
2020-08-08 12:59
【Linux
学习】
———Linux
C网络编程
Linux高性能
服务器编程
——进程池和线程池
进程池和线程池池的概念由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创建并初始化,这称为静态资源分配。当服务器进入正是运行阶段,即开始处理客户请求的时候,如果它需要相关的资源,就可以直接从池中获取,无需动态分配。很显然,直接从池中取得所需资源比动态
walkerkalr
·
2020-08-08 11:55
网络编程
Linux网络编程实验——线程池实现服务器
本实验是按照《Linux高性能
服务器编程
》15.5节实现的。原理很简单,就是利用epoll+多线程对客户请求进行处理。代码已经放在了git仓库,下面记录了几个我遇到的问题。
Little Prince~
·
2020-08-08 11:03
【Linux网络编程】高并发
服务器编程
-- 进程池与线程池
【Linux网络编程】高并发
服务器编程
--进程池与线程池【1】动态创建进程/线程实现高并发的缺点耗费时间,响应慢;动态创建的子进程/子线程通常只能为一个客户服务,将导致系统产生大量的细微进程/线程,进程
奋斗企鹅copper
·
2020-08-08 11:42
网络编程
15.Linux 高性能
服务器编程
--- 进程池和线程池
1.动态创建进程和线程缺点:1.动态创建进程(或线程)比较耗费时间2.动态创建的子进程(或子线程)通常只用来为一个客户服务,这将导致系统上产生大量的细微进程(或线程)。进程(或线程)间的切换将消耗大量CPU时间。3.动态创建的子进程是当前进程的完整映像。当前进程必须谨慎的管理其分配的文件描述符和堆内存等系统资源。否则子进程可能复制这些资源,从而使系统的可用资源急剧下降,进而影响服务器的性能。2.进
enlyhua
·
2020-08-08 10:38
Linux
书籍
简述
linunx
内存管理初始化流程
本文基于linux-4.4.6,arm64平台一:mmu和kernelimage的映射在汇编阶段,需要完成identitymap和kernelimagemap两个工作,假设arm64使用48位虚拟地址,4级translationtable:9(level0orPGD)+9(level1orPUD)+9(level2orPMD)+9(level3orPTE)+12(pageoffset),页大小为4
aa图图aa
·
2020-08-07 16:08
linux内核
01-netty、redis、zookeeper基本介绍
1.netty简介基于NIO的客户端/
服务器编程
框架,它既能快速开发高并发、高可用、高可靠性的网络服务器程序,也能开发高可用、高可靠的客户端程序。
林帆003
·
2020-08-07 09:44
#
《Netty
Redis
Zookeeper高并发实战》
Linux高性能
服务器编程
——定时器
定时器服务器程序通常管理着众多定时事件,因此有效组织这些定时事件,使之能在预期的时间点被触发且不影响服务器的主要逻辑,对于服务器的性能有着至关重要的影响。位置我们要将每个定时事件封装成定时器,并使用某种容器类型的数据结构,比如链表、排序链表和时间轮将所有定时器串联起来,以实现对定时事件的统一管理。Linux提供三种定时方法:1.socket选项SO_RECVTIMEO和SO_SNDTIMEO。
walkerkalr
·
2020-08-05 14:20
网络编程
Linux(
服务器编程
):29---定时机制之I/O复用系统调用的超时参数
select系统调用,参见文章:https://blog.csdn.net/qq_41453285/article/details/89607091poll系统调用,参见文章:https://blog.csdn.net/qq_41453285/article/details/89672980epoll系统调用,参见文章:https://blog.csdn.net/qq_41453285/artic
江南、董少
·
2020-08-05 14:04
Linux(服务器编程)
Linux(
服务器编程
):27---定时机制之SO_RCVTIMEO、SO_SNDTIMEO选项(附设置connect超时时间案例)
Linux提供了三种定时方法,它们是:socket选项SO_RCVTIMEO和SO_SNDTIMEO:本文要介绍的SIGALRM信号,参见文章:https://blog.csdn.net/qq_41453285/article/details/103719025I/O复用系统调用的超时参数,参见文章:https://blog.csdn.net/qq_41453285/article/details
江南、董少
·
2020-08-05 14:04
Linux(服务器编程)
【网络编程】处理定时事件(二)---利用信号通知
在上一篇,我们通过Redis对定时事件的处理有了一定的认识,今天我们继续按照《高性能
服务器编程
》上边的思路,用C++来实现一个小demo。
XiyouLinux_Kangyijie
·
2020-08-05 12:28
Linux网络编程
Linux(
服务器编程
):28---定时机制之SIGALRM信号(附升序的定时器链表设计、定时器链表处理非活动连接)
Linux提供了三种定时方法,它们是:socket选项SO_RCVTIMEO和SO_SNDTIMEO:https://blog.csdn.net/qq_41453285/article/details/103697673SIGALRM信号,参见文章:本文要介绍的I/O复用系统调用的超时参数,参见文章:https://blog.csdn.net/qq_41453285/article/details
江南、董少
·
2020-08-05 12:37
Linux(服务器编程)
GO语言入门到精通(一)Golang环境搭建
先简单介绍一下Golang吧,Go是Google开发的一种编译型,可平行化,并具有垃圾回收功能的编程语言,如果你有C语言基础,那么学习go将会比较easy,go语言一般用在
服务器编程
。
咖啡不加盐
·
2020-08-05 02:34
Golang
GOGOGO!
IP协议协议--IP头部信息
《Linux高性能
服务器编程
》阅读笔记:1.IP协议概述 IP协议是TCP/IP协议簇的核心,它为上层(传输层)协议(TCP/UDP)提供无状态、无连接、不可靠的服务。
mybright_
·
2020-08-05 01:02
Linux系统/网络编程
Linux编程
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他