原创 函數ioctl的使用

一、ioctl函數原型及作用 #include<unistd.h>  int ioctl( int fd, int request, ... ); 作用:操作文件描述符,用於設置硬件設備的一些配置信息,比如:串口的波特率,AD轉換的精度

原创 LINUX中信號的簡介

信號是Linux編程中非常重要的部分,本文將詳細介紹信號機制的基本概念、Linux對信號機制的大致實現方法、如何使用信號,以及有關信號的幾個系統調用。 信號機制是進程之間相互傳遞消息的一種方法,信號全稱爲軟中斷信號,也有人稱作軟中斷。

原创 函數sigsuspend sigprocmask的使用

一個進程的信號屏蔽字規定了當前阻塞而不能遞送給該進程的信號集,調用函數sigprocmask可以檢測或更改其信號屏蔽字 #include <signal.h> int sigprocmask( int how, const sigs

原创 Linux進程間通信6--共享內存

前言 使用文件進行進程間通信應該是最先學會的一種IPC方式。任何編程語言中,文件IO都是很重要的知識,所以使用文件進行進程間通信就成了很自然被學會的一種手段。考慮到系統對文件本身存在緩存機制,使用文件進行IPC的效率在某些多讀少寫的情

原创 函數wait與waitpid的使用

#include <sys/types.h>/* 提供類型pid_t的定義 */ #include <sys/wait.h> pid_t wait(int *status) 進程一旦調用了wait,就立即阻塞自己,由wait自動

原创 函數fcntl的用法

一、文件控制函數         fcntl -- file control LIBRARY         Standard C Library (libc, -lc) SYNOPSIS         #include ;   

原创 無緩衝IO和緩衝IO

一、 不帶緩衝IO和帶緩衝IO操作函數 不帶緩存的I/O:       read,write,open...... 標準(帶緩存的)I/O: fgets,fread,fwrite..... 這裏使用兩個對應的函數進行比較: ss

原创 函數time的使用

time_t time(time_t *t); //獲取當前距離1970-1-1的秒數 方式一: time_t seconds = time(NULL); //1970-1-1到現在的秒數 方式二: time_t seconds; t

原创 STDOUT_FILENO STDIN_FILENO STDERR_FILENO 和stdin stdout stderr區別

1> STDOUT_FILENO、 STDIN_FILENO、 STDERR_FILENO是整型的 在/usr/include/unistd.h中有如下定義: ​ ​#defineSTDIN_FILENO ​0 ​#define

原创 網絡體系結構

一、網絡體系結構簡介 網絡體系結構是指通信系統的整體設計,它爲網絡硬件、軟件、協議、存取控制和拓撲提供標準。它廣泛採用的是國際標準化組織(ISO)在1979年提出的開放系統互連(OSI-Open System Interconnectio

原创 服務器網絡編程模型

1、循環服務器模型:在同一個時刻只可以響應一個客戶端的請求  1)循環服務器:UDP服務器 UDP循環服務器的實現:UDP服務器每次從套接字上讀取一個客戶端的請求,處理, 然後將結果返回給客戶機. 因爲UDP是非面向連接的,沒有一

原创 服務器IO多路複用模型

一、服務器端代碼: #include<stdio.h> #include<sys/socket.h> #include<unistd.h> #include<sys/types.h> #include<errno.h>

原创 signal函數、sigaction函數及信號集操作函數

信號是與一定的進程相聯繫的。也就是說,一個進程可以決定在進程中對哪些信號進行什麼樣的處理。例如,一個進程可以忽略某些信號而只處理其他一些信號;另外,一個進程還可以選擇如何處理信號。總之,這些總與特定的進程相聯繫的。因此,首先要建立其

原创 TCP與UDP的區別

一、TCP(傳輸控制協議) 1)提供IP環境下的數據可靠傳輸(一臺計算機發出的字節流會無差錯的發往網絡上的其他計算機,而且計算機A接收數據包的時候,也會向計算機B回發數據包,這也會產生部分通信量),有效流控,全雙工操作(數據在兩個方向

原创 如何編寫Makefile

http://www.cnblogs.com/L-hq815/archive/2012/11/22/2783188.html 1.如何調用函數 $(函數名 arg1,arg2...)   2.常見函數 1.wildcard SRCS =