linux c 簡單UDP應用,資料傳送與接收

2021-08-18 08:41:00 字數 1518 閱讀 7950

主要函式:

接收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...