原创 linux openssl 編程 Server端

OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。 直接進行編程步驟: 1.首先確保電腦端擁有openssl庫,我這採用的方式是直接使用

原创 C/C++ windows 獲取CPU核數

// 獲得本機中處理器的數量 int CIOCPModel::_GetNoOfProcessors() { SYSTEM_INFO si; GetSystemInfo(&si); return si.dwNumberOfProc

原创 使用python編寫的監聽端

import socket import time import sys import string import struct import errno import binascii #Definition ser_ip = 'lo

原创 C++ Json中檢測某個字段是否存在的方url法

在json中檢測某個字段是否存在的方法如下: 存在: if (root["url"].type() != Json::nullValue) ...

原创 C 宏定義實現字符大小寫轉換

使用兩個簡單的宏定義可以直接將兩個大小寫字符進行轉換,分別是: //將字符從大寫轉化成小寫 #define char_tolower(c) (u_char) ((c >= 'A' && c <= 'Z') ? (c | 0x20

原创 linux openssl 編程 Client端

相關配置等請參看上一篇關於server端文章:http://blog.csdn.net/pingd/article/details/47805349 1.Client端源碼: openssl_client.c #include <std

原创 在ubuntu下編譯linux版客戶端遇__GNUC_PREREQ編譯錯誤的解決方法

使用linux編譯調試,今天嘗試編譯發現如下錯誤: error: missing binary operator before token "(" __BEGIN_DECLS does not name a type 第一個錯誤位

原创 C語言實現字節流與十六進制字符串的相互轉換

本人博客將陸續遷至https://dpjeep.com 歡迎造訪   原文出自:http://blog.csdn.net/qq387732471/article/details/7360988     //字節流轉換爲十六進制字符串 v

原创 python日誌開啓

import logging # 設置默認的level爲DEBUG # 設置log的格式 logging.basicConfig( level=logging.DEBUG, format="[%(asctime)s] %(

原创 C/C++ windows獲取本機ip地址

#define DEFAULT_IP "127.0.0.1" #define MAX_PATH 260 // 獲得本機的IP地址 CString GetLocalIP() { // 獲得本機主機名 char hostname[MAX

原创 SecureCRT無法連接Vmware下的Linux虛擬機

在使用SecureCRT進行連接的時候發現無法連接,直接被拒絕,可以試試以下的方式: 1. 在終端查看sshd服務狀態             #service sshd status      2. 修改配置文件            

原创 什麼是僵死進程(Zombies)

僵死狀態(Zombies)是一個比較特殊的狀態。有些人認爲這個狀態是在父進程死亡而子進程存活時產生的。實際上不是這樣的。父進程可能已經死了但自己稱依然存活着,那個子進程的父進程將會成爲init進程,pid 1.當進程退出並且父進程(使用

原创 簡單Linux C線程池

轉載地址:http://www.cnblogs.com/venow/archive/2012/11/22/2779667.html、 大多數的網絡服務器,包括Web服務器都具有一個特點,就是單位時間內必須處理數目巨大的連接請求,但是處

原创 linux 網絡監測工具

linux按進程或程序實時統計網絡帶寬使用率: nethogs linux查看實時的網絡流量,監控TCP/IP連接等 iftop

原创 再談應用環境下的TIME_WAIT和CLOSE_WAIT

本文轉載自:http://blog.csdn.net/shootyou/article/details/6622226/ 昨天解決了一個HttpClient調用錯誤導致的服務器異常,具體過程如下: http://blog.csd