#安全服务

nginx+uWSGI+django部署web服务器

1.概念WSGI/uwsgi/uWSGI这三个概念的区分:  WSGI是一种通信协议,也叫做 Web服务器网关接口  uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。  uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。nginx(开源的高性能HTT...

多线程环境下怎样的单例模式是最安全的

单例模式在实现上,有以下几点要求:(1)构造器私有化(2)自行创建,并且用静态变量保存(3)向外提供这个实例(4)强调这是一个单例,用static关键字修饰按照创建实例的时机,又有懒汉式和饿汉式两种实现模式。饿汉式:在类的初始化时就创建实例,所以不存在线程安全问题:1packagesingle;23/**4*饿汉式,类...

多线程下ArrayList类线程不安全的解决方法及原理

ArrayList类在多线程环境下是线程不安全的,在多线程读写情况下会抛出并发读写异常(ConcurrentModificationException):1importjava.util.ArrayList;2importjava.util.List;3importjava.util.UUID;45publicclas...

线程安全

多线程的并发执行可以提高程序运行的效率,但当多个线程去处理同一个资源时,就容易产生一些安全问题。如模拟抢票程序,如果不加线程安全处理的话,就很容易多个线程抢到同一张票,或者出现余票为负数的情况。synchronized关键字,就是用来控制线程同步的,保证我们的线程在多线程环境下,synchronized块或synchr...
代码星球 ·2020-04-09

GIL全局解释锁,死锁,信号量,event事件,线程queue,TCP服务端实现并发

一、GIL全局解释锁在Cpython解释器才有GIL的概念,不是python的特点在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势。1.GIL介绍GIL本质就是一把互斥锁,既然是互斥锁,所有互斥锁的本质都是一样,都是将并发运行变成串行,以此来保证数据的安全性。用来阻止同一...

Python网络编程中的服务器架构(负载均衡、单线程、多线程和同步、异步等)

这篇文章主要介绍服务器架构。网络服务需要面对两个挑战。第一个问题是核心挑战,要编写出能够正确处理请求并构造合适响应的代码。第二个挑战是如何将网络代码部署到随系统自动启动的Windows服务或者是Unix守护进程中,将活动日志持久化存储。并且在无法连接到数据库或者后端存储区时发出警告,为其提供完整的保护,以防止所有可能的...

C语言实现简单epoll服务器(二)

共有的头文件/*utility.h*/#ifndef__UTILITY_H_INCLUDED#define__UTILITY_H_INCLUDED#include<iostream>#include<list>#include<sys/types.h>#include<sys/...

C语言简单实现epoll服务器(一)

C/S模型TCP通信C/S模型图如下所示:TCP服务端通信的常规步骤:使用socket()创建TCP套接字(socket)将创建的套接字绑定到一个本地地址和端口上(Bind)将套接字设为监听模式,准备接收客户端请求(listen)等待客户请求到来:当请求到来后,接受连接请求,返回一个对应于此次连接的新的套接字(acce...

C语言实现FTP服务器

 公共部分代码/*common.h*/#ifndefCOMMON_H#defineCOMMON_H#include<arpa/inet.h>#include<ctype.h>#include<dirent.h>#include<errno.h>#include&...
代码星球 ·2020-04-09

nod32标题:解决“从更新服务器下载文件时出错”的方法

如果您升级病毒库时提示"从更新服务器下载文件时出错",这可能是由于以下一个或几个原因造成的:网络连接中断、与本地磁盘数据冲突、NOD32安装文件损坏、服务器更新文件损坏(镜像服务器环境下)、使用不兼容的升级文件(如使用beta版的ESET产品从升级服务器上下载更新)要解决这个问题,请按照如下的方法:...

UDP服务器

传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但UDP也是网络通信中不可或缺的重要通信手段。相较于TCP而言,UDP通信的形式更像是发短信。不需要在数据传输之前建立、维护连接。只专心获取数据就好。省去了三次握手的...
代码星球 ·2020-04-09

服务器之poll

poll服务器方法采用将监听端口用数组存放起来,这样就不需要轮询的监听整个文件描述符了#include<poll.h>intpoll(structpollfd*fds,nfds_tnfds,inttimeout);structpollfd{intfd;/*文件描述符*/shortevents;/*监控的事件...
代码星球 ·2020-04-09

服务器之select

selectselect能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述符个数并不能改变select监听文件个数解决1024以下客户端时使用select是很合适的,但如果链接客户端过多,select采用的是轮询模型,会大大降低服务器响应效率,不应在select上投入更多精#i...
代码星球 ·2020-04-09

多线程服务器

/***server.c***/#include<stdio.h>#include<fcntl.h>#include<string.h>#include<netinet/in.h>#include<arpa/inet.h>#include<signal....
代码星球 ·2020-04-09

多进程服务器

 注意:包含了“wrap.c”和“wrap.h”文件在上篇博客中/***server.c***/#include<stdio.h>#include<string.h>#include<netinet/in.h>#include...
代码星球 ·2020-04-09
首页上一页...157158159160161...下一页尾页