sendto(經socket傳送資料)
相關函式
send , sendmsg,recv , recvfrom , socket
表頭檔案
#include < sys/types.h >
#include < sys/socket.h >
定義函式
int sendto ( int s , const void * msg, int len, unsigned int flags, const
struct sockaddr * to , int tolen ) ;
函式說明
sendto() 用來將資料由指定的socket傳給對方主機。引數s為已建好連線的socket,如果利用udp協議則不需經過連線操作。引數msg指向欲連線的資料內容,引數flags 一般設0,詳細描述請參考send()。引數to用來指定欲傳送的網路位址,結構sockaddr請參考bind()。引數tolen為sockaddr的結果長度。
返回值成功則返回實際傳送出去的字元數,失敗返回-1,錯誤原因存於errno 中。
錯誤**
ebadf 引數s非法的socket處理**。
efault 引數中有一指標指向無法訪問的記憶體空間。
wnotsock canshu s為一檔案描述詞,非socket。
eintr 被訊號所中斷。
eagain 此動作會令程序阻斷,但引數s的soket為補課阻斷的。
enobufs 系統的緩衝記憶體不足。
einval 傳給系統呼叫的引數不正確。
recvfrom(經socket接收資料)
相關函式
recv,recvmsg,send,sendto,socket
表頭檔案
#include
#include
定義函式
int recvfrom(int s,void *buf,int len,unsigned int flags ,struct sockaddr *from ,int *fromlen);
函式說明
recv()用來接收遠端主機經指定的socket 傳來的資料,並把資料存到由引數buf 指向的記憶體空間,引數len 為可接收資料的最大長度。引數flags 一般設0,其他數值定義請參考recv()。引數from用來指定欲傳送的網路位址,結構sockaddr 請參考bind()。引數fromlen為sockaddr的結構長度。
返回值成功則返回接收到的字元數,失敗則返回-1,錯誤原因存於errno中。
錯誤**
ebadf 引數s非合法的socket處理**
efault 引數中有一指標指向無法訪問的記憶體空間。
enotsock 引數s為一檔案描述詞,非socket。
eintr 被訊號所中斷。
eagain 此動作會令程序阻斷,但引數s的socket為不可阻斷。
enobufs 系統的緩衝記憶體不足
enomem 核心記憶體不足
einval 傳給系統呼叫的引數不正確。
linux網路程式設計常用函式詳解與例項
常用的網路命令 netstat telnet telnet是乙個用來遠端控制的程式,但是我們完全可以用這個程式來除錯我們的服務端程式的.比如我們的伺服器程式在監聽8888埠,我們可以用telnet localhost 8888來檢視服務端的狀況.網路函式描述和例項 int socket int do...
Linux網路程式設計常用函式
計算機資料儲存有兩種位元組優先順序 高位位元組優先和低位位元組優先。internet上資料以高位位元組優先順 序在網路上傳輸,所以對於在內部是以低位位元組優先方式儲存資料的機器,在internet上傳輸資料時就需 要進行轉換。我們要討論的第乙個結構型別是 struct sockaddr,該型別是用來...
unix網路程式設計常用函式詳解
基本tcp客戶 伺服器程式的套介面函式如下圖 1 socket函式 原型 include int socket int family,int type,int protocol 返回值 非負描述符 成功,1 出錯 作用 指定期望的通訊協議介面 tcp或udp或unix域位元組協議等 family 指...