socket也即通訊端介面,實際上也就是網路上的通訊節點。使用者或者應用程式只要串連到socket便可以和網路上任何一個通訊端點串連,傳遞資料。LINUX中,程式員可以不必關心通訊協定而專註應用程式開發。根據資料傳送方式,可以把socket分成連線導向的資料流通訊和不需連線的資料報通訊。通訊過程如下:
常用命令整理如下:查看主板的序號: dmidecode | grep -i ’serial number’用硬體檢測程式kuduz探測新硬體:service kudzu start ( or restart)查看CPU資訊:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]查看記憶體資訊:cat /proc/meminfo [free -m][vmstat]查看板卡資訊:cat
一,返回單位為毫秒 #include<windows.h> DWORD dwStart = GetTickCount(); // 測試代碼 DWORD dwTime = GetTickCount() - dwStart;
錯誤號碼 88 ENOTSOCK__ Socket operation on non-socket錯誤原因:因為在建立socket的時候少了一對括弧導致,錯誤碼如下:if(sockfd=socket(AF_INET, SOCK_STREAM, 0)<0){ cout << "socket error" << endl; return 0;} 正確代碼應該是將sockfd=socket(AF_INET, SOCK_STREAM,
接下來我們從例子著手,運行localhost:/home/XX/examples/lddbus#insmod lddbus.ko,此時再看/sys/bus/ 這時就多了一個檔案夾ldd。這表示系統中多了一種名叫ldd的匯流排類型。同時再看/sys/device/,也多出來一個ldd0的檔案夾,這表示系統中多了一個名叫ldd0的硬體。 在lddbus.c中, 定義了一個匯流排和硬體類型 struct bus_type ldd_bus_type = {
以MELFAS的MS6000晶片韌體升級執行個體,說明一般的數組格式的IMAGE檔案燒錄的過程。該晶片需要PIN腳組合完成一定的時序並實現一組命令碼進入燒錄模式,並且在燒錄模式下的I2C地址是0XFA(跟晶片正常工作時的地址0X40不同),在燒錄完畢後進行複位並開始相應正常的TP操作。晶片大致的燒錄了流程圖如下: 實現代碼如下:(1)基礎宏定義#define FIAMWARE_NAME "MELFAS_W105.h"
訊號量當我們在多使用者系統,多進程系統,或是兩者混合的系統中使用線程操作編寫程式時,我們經常會發現我們有段臨界代碼,在此處我們需要保證一個進程(或是一個線程的執行)需要排他的訪問一個資源。訊號量有一個複雜的編程介面。幸運的是,我們可以很容易的為自己提供一個對於大多數的訊號量編程問題足夠高效的簡化介面。為了阻止多個程式同時訪問一個共用資源所引起的問題,我們需要一種方法產生並且使用一個標記從而保證在臨界區部分一次只有一個線程執行。線程相關的方法,我們可以使用互斥或訊號量來控制一個多線程程式對於臨界區
首先檢查SecureCRT,設定Options->Global options->General->Default session->Edit Default Settings->Terminal->Appearance->Character encoding,選擇UTF-8。 然後設定Options->Global options->General->Default session->Edit Default Settings-
/etc/profile:此檔案為系統的每個使用者佈建環境資訊,當使用者第一次登入時,該檔案被執行.並從/etc/profile.d目錄的設定檔中搜集shell的設定./etc/bashrc:為每一個運行bash shell的使用者執行此檔案.當bash
一般情況,本網跟遠程網路進行資料交抱,或者資料移轉,常用的有三種方法,一是ftp,二是wget /fetch 三是,rsync 大型資料移轉用rysync,其次用fetch/wget ,最次是ftp,最慢是ftp.這幾天,在忙資料移轉時,用到ssh的scp方法來遷移資料。速度與效果都很好。特別是現在許多伺服器為了安全,都會改ssh預設的22連接埠,改成一個特殊的連接埠。所以。在scp或者sftp時,就要指定通過什麼連接埠來遷移。現在,特記下這個特殊連接埠來scp的命令。scp -p port
Ubuntu是一個作業系統,和Android一樣同是linux核心的子民,看到網上挺Ubuntu的很多,搞了個安裝方法給那些害怕亂弄把硬碟全格的盆友們。也是我用了那麼久Ubuntu,對它的小小貢獻吧。圖片是M9拍的,有藝術細胞吧?的確可以用wubi安裝,wubi安裝就像一個程式一樣裝在windows檔案系統之上,網上說的缺點有:用WUBI安裝Ubuntu的缺點:1、一休眠或掛起就會死機,不能從休眠或掛起狀態恢複,只能強行關機然後重啟。因為休眠和待機需要使用FUSE和基於檔案的交換。建議用Ubun
linux的登入主要是由兩個檔案在控制,/usr/sbin/getty來獲得使用者名稱,並進行檢查使用者名稱是否存在,然後將使用者名稱傳遞給/usr/bin/login來擷取使用者輸入密碼和檢查密碼是否正確.所以要實現linux的自動登入,就要改動這兩個檔案.1.getty實現的主要功能是: 1)開啟指定的tty; 2)提示使用者登入(login:); 3)獲得登入使用者名稱; 4)把使用者名稱傳遞給login命令 2.login實現的主要功能是: 1)先檢車是不是超級使用者;
Boa 是一套小型的網頁伺服器,很適合應用在 Embedded System 上,並且內建就可以直接支援以 C 寫的 CGI 網頁,這篇是移植 Boa 到 ARM9 S3C2410 平台的過程,Linux 版本為 2.6.17.4,使用 arm-linux toolchain 3.4.1 編譯。1. 產生 Makefile下載 Source code 並解壓縮進到 src 目錄。# ./configure –host=arm-linux2. 修改 Makefile 使用跨平台編譯CC =
在linux中,啟動並執行一個進程,會佔去linux的三個地方,代碼區,堆棧區和資料區.如果同時運行多個相同的程式,他們就會使用相同的代碼區,代碼區中存放的就程式的代碼,但是資料區和堆棧區分別存放的是程式的資料,全域變數和局部變數,因此即使是相同的程式,也不可同時使用相同的資料和堆棧區. #include<stdio.h>#include<unistd.h>int main(){ if(fork() == 0) {
Linux 動態連結Linux 中的應用程式以以下兩種方式之一連結到外部函數:要麼在構建時與靜態庫( lib*.a ) 靜態地連結,並且將庫程式碼封裝含在該應用程式的可執行檔裡;要麼在運行時與共用庫( lib*.so ) 動態地連結。通過動態連結裝入器,將動態庫映射進應用程式的可執行記憶體中。在啟動應用程式之前,動態連結裝入器將所需的共用目標庫映射到應用程式的記憶體,或者使用系統共用的目標並為應用程式解析所需的外部參考。現在應用程式就可以運行了。 作為樣本,下面有一個示範 Linux
SLAX linux,是本文的主角,因為他不需要安裝在硬碟,只需要燒錄在光碟片和隨身碟上就可以跑。SLAX LINUX的ISO檔案只有差不多200MB的大小,但是,麻雀雖小但五髒俱全,這個ISO檔案裡已經安裝了記事本、幾款小遊戲等。首先,介紹一下如何安裝SLAX LINUX,其實過程超級簡單:1.在迅雷搜尋SLAX LINUX,下載一個名為Slax
一個不斷提出的問題:Linux下JDK到底應該安裝在哪兒?1 Linux 目錄結構即使這是個菜鳥級的問題,也經常難住老鳥。我就見過很資深的程式員把JDK不合適地安裝到/home目錄下。雖然不一定有最正確的安裝位置,但一定有不適當的安裝位置。為了確定我們到底應該把JDK安裝在哪裡,首先要瞭解一下Unix/Linux的目錄結構。/bin 用來貯存使用者命令。/usr/bin 也被用來貯存使用者命令。/sbin 許多系統命令(例如 shutdown)的貯存位置。/usr/sbin
Linux 網路編程之TIME_WAIT狀態 剛剛開始看TCP
作者:劉洪濤,華清遠見嵌入式學院講師。說明: 理解網路攝影機驅動需要四個前提: 1)網路攝影機基本的工作原理和S5PC100整合的Camera控制器的工作原理 2)platform_device和platform_driver工作原理 3)Linux核心V4L2驅動架構 4)Linux核心I2C驅動架構1.
本文轉自:http://www.cnttr.com/49230/viewspace_6093.html本文介紹的是 debugfs 命令如果你不小心誤刪除了一個重要的檔案,如rm-rf kkk,而kkk是你的一個非常重要的檔案,你肯定非常痛苦,這時你千萬不能驚慌,應該馬上停止向你的硬碟寫入任何檔案。它完全是可以恢複的。(我這裡專門針對ext2檔案系統寫了如下的內容,其它的檔案系統也有辦法,我以後在寫):#debugfs