相關函式:send, sendmsg, recv, recvfrom, socket
標頭檔案:#include #include
定義函式: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 中.
錯誤**:
1、ebadf 引數s 非法的socket 處理**.
2、efault 引數中有一指標指向無法訪問的記憶體空間.
3、wnotsock canshu s 為一檔案描述詞, 非socket.
4、eintr 被訊號所中斷.
5、eagain 此動作會令程序阻斷, 但引數s 的soket 為補課阻斷的.
6、enobufs 系統的緩衝記憶體不足.
7、einval 傳給系統呼叫的引數不正確.
範例#include
#include
#include
#include
#define port 2345 /*使用的port */
main()
//填寫sockaddr_in 結構
bzero(&addr, sizeof(addr));
addr.sin_family = af_inet;
addr.sin_port = htons(port);
addr.sin_addr = hton1(inaddr_any);
if(bind(sockfd, &addr, sizeof(addr)) < 0)
while(1)
}執行:請參考recvfrom()
socket程式設計
一直以為serversocket accept之後客戶端才能發資訊,實驗後得出如下結論 1 serversocket沒有accept時,client是可以傳送資訊到server端的。2 serversocket accept之後,正在處理訊息時,client也是可以傳送資訊到server端。如果se...
Socket程式設計
對tcp ip udp socket程式設計這些詞你不會很陌生吧?隨著網路技術的發展,這些詞充斥著我們的耳朵。那麼我想問 1.什麼是tcp ip udp?2.socket在 呢?3.socket是什麼呢?4.你會使用它們嗎?什麼是tcp ip udp?tcp ip transmission cont...
socket程式設計
建立socket 建立乙個 socket,它可用於在基於 tcp ip 的網路 如 internet 上通訊。socket s new socket addressfamily.internetwork,sockettype.stream,protocoltype.tcp 若要使用 udp 而不是 ...