原创 前端對websocket心跳重連的處理

$(function() { var lockReconnect = false;//避免重複連接 var ws = null; //WebSocket的引用 var wsUrl = "xxxxxx"; //這個

原创 socket 及 websocket的握手過程

一、WebSocket和HTTP之間的關係 WebSocket和HTTP一樣都是基於TCP的應用層協議。 WebSocket協議和HTTP協議是兩種不同的東西。客戶端開始建立WebSocket連接時要發送一個header標記了 Upgra

原创 Flask+Gunicorn+Nginx 原理解析

本文經過整理,轉載自Flask 應用如何部署 支持高併發下的Flask架構部署1. Why Flask+Gunicorn+Nginx1.1 Why?1.2 Anything More?1、爲什麼需要Nginx轉發G

原创 python 面試基礎

該文110道面試題全部來自於大家筆試面試時候拍照後發到羣裏求助的題目,並自己一道一道親自做了,大部分題目屬於鞏固基本python知識點的題目,希望對基本知識不熟悉的同學,能認真做一遍,肯定會有不少收穫 1、一行代碼實現1--1

原创 windows系統 換pip源

1. 打開c盤,在地址欄輸入%appdata%後回車:    2. 新建文件夾pip,在pip文件夾中新建一個配置文件pip.ini: 寫入 [global] index-url = http://mirrors.aliyun.com/

原创 linux下 epoll介紹

epoll的優點: 1.支持一個進程打開大數目的socket描述符(FD)     select 最不能忍受的是一個進程所打開的FD是有一定限制的,由FD_SETSIZE設置,默認值是2048。對於那些需要支持的上萬連接數目的IM服務器來

原创 python 獲取帶權重的隨機數

#!/usr/bin/env python # -*- coding: utf-8 -*- import random def random_weight(weight_data): total = sum(weight_da

原创 web與websocket實現

引言:實時Web越來越被重視,Google、Facebook等大公司也逐漸開始提供實時性服務。實時Web將是未來最熱門的話題之一。  本文選自《基於MVC的JavaScript Web富應用開發》。   爲什麼實時Web

原创 nginx epoll模型詳解

舉個例子:假設進程有10萬個TCP連接,且只有幾百個連接是有事件需要處理的。那麼在每一個時刻進程只需要處理這幾百個有事件需要處理的連接即可。 事件:即TCP連接上有數據需要交互。   select和poll這樣處理的:在某一時刻,進程收集

原创 Python中的ThreadLocal變量

我們知道多線程環境下,每一個線程均可以使用所屬進程的全局變量。如果一個線程對全局變量進行了修改,將會影響到其他所有的線程。爲了避免多個線程同時對變量進行修改,引入了線程同步機制,通過互斥鎖,條件變量或者讀寫鎖來控制對全局變量的訪問。 只用

原创 python 的 re庫獲取兩個字符中間的內容(轉)

問題背景:當我們爬取網頁信息時,對於一些標籤的提取是沒有意義的,所以需要提取標籤中間的信息。   解決辦法:用到了re包下的函數 方法1:用到了research()方法和group()方法 方法2:用到了findall()方法   具體實

原创 數字簽名解析(轉)

https://blog.csdn.net/zv3e189os5c0tsknrbcl/article/details/79395106

原创 python2.7 發郵件腳本

import smtplib import time from email.header import Header from email.mime.application import MIMEApplication from ema

原创 linux查詢及處理殭屍進程

殭屍進程產生原因 在UNIX系統中,一個進程結束了,但是其父進程沒有等待(調用wait/waitpid)它,那麼它將變成一個殭屍進程。通過PS命令可以查看其帶有defunct的標誌,殭屍進程是一個早已死亡的進程,但在進程

原创 如何捕獲新建websocket 的異常

今天看了一眼之前寫的前端代碼,發現一個明顯的問題 try { socket = new WebSocket(host); } catch (e) {