主要函式:
接收recvfrom()
ssize_t recvfrom (int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);
引數說明:
sockfd:套接字
buf:用於接收資料的buffer
len:長度,接收資料的最大長度
flags:一般設定為0
addrlen:sizeof(src_addr)
注意:假如套接字上沒有訊息可以讀取,且套接字沒有設定為非阻塞模式(預設為阻塞模式),recvfrom會一直阻塞等待訊息的到來。
傳送sendto()
ssize_t sendto (int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);
引數說明:
sockfd:套接字
buf:要傳送的資料buffer
len:要傳送資料長度
flags:一般為0
addrlen:sizeof(dest_addr)
直接上**
傳送端:
接收端:#include #include #include #include #include #include #include #include #include #include int main()
//封裝套結字位址結構
saddr.sin_family = af_inet;
saddr.sin_port = htons(4444);
saddr.sin_addr.s_addr = inet_addr("127.0.0.1");
char buf[1024]="test udp protcol !";
int addrlen;
while(1)
close(lfd);
return 0;
}
#include #include #include #include #include #include #include #include #include #include int main()
char buf[1024];
int addrlen;
while(1)
close(lfd);
return 0;
}
Linux C 多人網路聊天室 UDP
任何直接甩 的都是耍流氓!connectsocket 函式在socket.c中實現 sclient connectsocket serverip,serverport,udp if sclient 1 使用者註冊,直到註冊成功 無返回值 void userregister int socketfd ...
Linux C 時間函式應用
關於時間的型別 time t long型,表示從1970年1月1日到現在經過的秒數。include struct tm 一般用time t 定義 time t now 通過now time null 返回當前的時間 秒數 time函式形式是 time t time time t 也可以像這樣獲取 t...
udp簡單通訊
客戶端 include include include include include define serv port 8000 int main int argc,char ar close sockfd return 0 如何實現內網和外網的通訊 main.c udpserver create...