#include
#include
#include
#include
void
perr_exit
(const
char
*s)//***************************網路*********************************
intaccept
(int fd,
struct sockaddr* addr, socklen_t* addrlen)
return n;
}int
bind
(int fd,
const
struct sockaddr *addr, socklen_t addrlen)
intconnect
(int fd,
const
struct sockaddr *addr, socklen_t addrlen)
intlisten
(int fd,
int backlog)
intsocket
(int family,
int type,
int protocol)
//***************************讀寫操作*********************************
ssize_t read
(int fd,
void
*ptr, size_t nbytes)
return n;
}ssize_t write
(int fd,
const
void
*buf, size_t nbytes)
return n;
}//讀指定位元組數
ssize_t readn
(int fd,
void
*vptr, size_t n)
else
if(nread ==0)
break
;
nleft -
= nread;
ptr +
= nread;
}return n - nleft;
}//寫指定的位元組數
ssize_t writen
(int fd,
const
void
*vptr, size_t n)
nleft -
= nwritten;
ptr +
= nwritten;
}return n;
}//讀100位元組,通過ptr返回1位元組,然後每次呼叫都返回 第一次讀到的資料的 乙個位元組,直到100位元組全部返回
static ssize_t my_read
(int fd,
char
*ptr)
else
if(read_cnt ==0)
return0;
read_ptr = read_buf;
} read_cnt--
;*ptr =
*read_ptr++
;return1;
}//讀一行
ssize_t readline
(int fd,
void
*vptr, size_t maxlen)
else
if(rc ==0)
else
return-1
;}*ptr =0;
return n;
}
#ifndef __wrap_h_
#define __wrap_h_
//socket相關
void
perr_exit
(const
char
*s);
intaccept
(int fd,
struct sockaddr* addr, socklen_t* addrlen)
;int
bind
(int fd,
const
struct sockaddr *addr, socklen_t addrlen)
;int
connect
(int fd,
const
struct sockaddr *addr, socklen_t addrlen)
;int
listen
(int fd,
int backlog)
;int
socket
(int family,
int type,
int protocol)
;//讀寫相關
ssize_t read
(int fd,
void
*ptr, size_t nbytes)
;ssize_t write
(int fd,
const
void
*buf, size_t nbytes)
;ssize_t readn
(int fd,
void
*vptr, size_t n)
;ssize_t writen
(int fd,
const
void
*vptr, size_t n)
;static ssize_t my_read
(int fd,
char
*ptr)
;ssize_t readline
(int fd,
void
*vptr, size_t maxlen)
;#endif
Linux網路程式設計常用函式
計算機資料儲存有兩種位元組優先順序 高位位元組優先和低位位元組優先。internet上資料以高位位元組優先順 序在網路上傳輸,所以對於在內部是以低位位元組優先方式儲存資料的機器,在internet上傳輸資料時就需 要進行轉換。我們要討論的第乙個結構型別是 struct sockaddr,該型別是用來...
Linux 網路程式設計常用函式詳解
sendto 經socket傳送資料 相關函式 send sendmsg,recv recvfrom socket 表頭檔案 include sys types.h include sys socket.h 定義函式 int sendto int s const void msg,int len,u...
linux網路程式設計基礎 網路基礎
客戶機 client 伺服器 server 模式。需要在通訊兩端各自部署客戶機和伺服器來完成資料通訊。瀏覽器 browser 伺服器 server 模式。只需在一端部署伺服器,而另外一端使用每台pc都預設配置的瀏覽器即可完成資料的傳輸。c s模式 優點缺點 資料快取本地,效率高 工作量大,開發周期更...