socket有三種型別:
sock_stream 基於tcp+ip
sock_dgram 基於udp+ip
sock_raw 直接基於ip
[size=x-large]網路位址[/size]
struct sockaddr用於記錄網路位址
struct sockaddr
//sa_family 協議族,採用"af_***"形式, 如:af_inet(ip協議族)
//s_data 14位元組的特定協議位址
struct socketaddr_in 同樣用於記錄網路位址, 更常用
struct sockaddr_in
[size=x-large]位址轉換[/size]
由"192.168.0.1"的形式轉化為struct in_addr中的32位無符號整形
int inet_aton(const char *cp, struct in_addr *inp)
char *inet_ntoa(struct in_addr in)
a代表ascii, n代表network
inet_aton將a.b.c.d的ip位址轉化為32位ip
[size=x-large]位元組序轉換[/size]
網路上統一使用big endien, 高位在前, 先傳輸
htons//unsigned short從主機序列轉換到網路序
htonl//unsigned long從主機序列轉換到網路序
ntohs
ntohl
[size=x-large]ip與主機名[/size]
網路中標誌一台主機可用ip位址, 也可以用主機名
struct hostent *gethostbyname(const char *hostname)
struct hostent
#define h_addr h_addr_list[0];//主機的第乙個ip位址
[size=x-large]socket程式設計函式[/size]
socket 建立乙個socket
bind 將ip和埠號繫結到socket
connect 與伺服器建立連線
listen 設定伺服器能處理的最大連線要求
accept 用來等待來自客戶端的socket請求
send 傳送資料
recv 接受資料
時間程式設計聽課筆記
標頭檔案 time.h 1.獲取日曆時間 time t time time t tloc 返回值和引數的指向time t都是日曆時間 例如 time t t time null 2.時間轉化 轉化為格林威治時間 greenwich mean time struct tm gmtime const t...
檔案程式設計 系統呼叫 聽課筆記
兩種方式 1.系統呼叫 2.c函式庫 系統呼叫 1.建立 int creat const char filename,mode t mode creat hello,0775 2.開啟 int open const char pathname,int flag int open const char...
python 網路程式設計基礎 筆記
第二章 網路客戶端 建立socket tcp client 獲取當前根目錄下檔案列表 s.shutdown 1 資料呼叫shutdown函式才能確保傳送 while 1 buf s.recv 2048 if not len buf breaksys.stdout.write buf 建立socket...