原创 socket4和socket5的區別

socket5對於  socket4的改進 關鍵詞: socket5       socket4                                                   網絡編程中,對於數據傳輸實時性要求較高

原创 epoll 編程注意事項以及參數查看

每次接受新連接的時候,我監視了這幾個事件。 EPOLLIN | EPOLLET |  EPOLLERR | EPOLLHUP | EPOLLPRI; 每次有一批事件返回,經過統計   返回的一批fd數量=出錯關閉的fd數量+由

原创 va_start、va_end、va_list的使用

下面是 <stdarg.h> 裏面重要的幾個宏定義如下: typedef char* va_list; void va_start ( va_list ap, prev_param ); /* ANSI version */

原创 面向連接的socket數據處理過程以及非阻塞connect問題

對於面向連接的socket類型(SOCK_STREAM,SOCK_SEQPACKET)在讀寫數據之前必須建立連接,首先服務器端socket必須在一個客戶端知道的地址進行監聽,也就是創建socket之後必須調用bind綁定到一個指定的地址,

原创 linux epoll的介紹,操作和具體實現

Epoll基本介紹   在linux的網絡編程中,很長的時間都在使用select來做事件觸發。在linux新的內核中,有了一種替換它的機制,就是epoll。相比於 select,epoll最大的好處在於它不會隨着監聽fd數目的增長而降低效

原创 EPOLL簡介及程序樣例

其數據結構的設計是密不可分的,這個下面就會提到。 首先回憶一下select模型,當有I/O事件到來時,select通知應用程序有事件到了快去處理,而

原创 Linux下的單進程多用戶TCP服務器,採用select方法實現。

/************************************************* * File name   : server.c * Description : 單進程併發服務器 * Author      

原创 SVN客戶端--TortoiseSVN使用說明

  TortoiseSVN是windows下其中一個非常優秀的SVN客戶端工具。通過使用它,我們可以可視化的管理我們的版本庫。不過由於它只是一個客戶端,所以它不能對版本庫進行權限管理。 TortoiseSVN不是一個獨立的窗口程序,而是集

原创 修改ssh默認端口的方法

有時候,我們需要把Linux中SSH默認端口22修改爲其他,方法有以下幾種:   方法 1:   01假如要改SSH的默認端口(22),那麼你只要修

原创 Linux C++中獲取指定pid、tid的CPU與內存佔用信息

 使用的是ps命令+popen函數,直接上代碼   #include<iostream> using namespace std; #define _LINE_LENGTH 300   bool GetCpuMem(float 

原创 UNIX 高級編程 學習

相信很多跟我一樣想要學習unix編程的朋友在興沖沖拿到《unix環境高級編程》後,準備拿源碼練練手時,執行第一個myls就出現一大堆的 錯誤,這未免時個不小的打擊。今天把解決方法寫下來,第一自己有個記錄,第二也幫助那些被同樣問題困擾的朋友

原创 Linux C++中需要的頭文件

inet_addr() #include   <sys/socket.h> #include <netinet/in.h> #include   <arpa/inet.h>memset()#include   <memory.h>

原创 linux下動態庫.so文件用法總結

linux下庫文件有兩種:一是靜態庫文件,以.a爲後綴的文件。二是動態庫文件,以.so爲後綴的文件。其二者主要區別在於靜態庫是在編譯時加載,而動態庫是在運行時加載。 關於靜態庫文件使用比較繁多,在makefile中的使用如下例: LIBS

原创 如何修改postfix的queue_directory目錄

postqueue的保存目錄如果空間不夠大,在郵件堆積的情況下,有可能的空間就會被佔滿,而系統的其他分區還是很空的,怎麼辦,我們可以修改一下postfix的queue的保存位置。 如何修改postfix的queue_directory目錄

原创 使用postfix進行郵件過濾,結果本地的一些郵件也進入了過濾

在使用postfix進行郵件過濾的時候,目的是想過濾外面結果postfix的郵件,並不想過濾linux系統的提示郵件。但是有一次由於crond定時任務中cd命令進入的是一個不存在的目錄,結果系統在每次執行這個crond任務時就發送提示郵件