基於UDP的網路程式設計步驟

2021-05-28 13:17:16 字數 1758 閱讀 9898

基於udp------伺服器端:

1.建立乙個socket,用函式socket()

2.繫結ip位址、埠資訊等到socket上,用函式bind()

3.迴圈接收資料,用函式recvfrom()

4.關閉網路連線

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define server_port 8888

#define max_msg_size 1024

void udps_respon(int sockfd) }

int main(void)

/* 伺服器端填充 sockaddr結構 */

bzero(&addr,sizeof(struct sockaddr_in));

addr.sin_family=af_inet;

addr.sin_addr.s_addr=htonl(inaddr_any);

addr.sin_port=htons(server_port);

/* **sockfd描述符 */

if(bind(sockfd,(struct sockaddr *)&addr,sizeof(struct sockaddr_in))<0)

udps_respon(sockfd); // 進行讀寫操作

close(sockfd);

} 基於udp--------客戶端:

1.建立乙個socket,用函式socket()

2.繫結ip位址、埠等資訊到socket上,用函式bind()

3.設定對方的ip位址和埠等屬性

4.傳送資料,用函式sendto()

5.關閉網路連線

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define server_port 8888

#define max_buf_size 1024

void udpc_requ(int sockfd,const struct sockaddr_in *addr,int len) }

int main(int argc,char **argv)

/* 建立 sockfd描述符 */

sockfd=socket(af_inet,sock_dgram,0);

if(sockfd<0)

/* 填充服務端的資料 */

bzero(&addr,sizeof(struct sockaddr_in));

addr.sin_family=af_inet;

addr.sin_port=htons(server_port);

if(inet_aton(argv[1],&addr.sin_addr)<0)  /*inet_aton函式用於把字串型的ip位址轉化成網路2進製數字*/

udpc_requ(sockfd,&addr,sizeof(struct sockaddr_in)); // 進行讀寫操作

close(sockfd);

}

基於Udp的Socket網路程式設計

1.新建乙個工作空間 udp 新增兩個工程udpclient 和 udpsrv 2.在工程udpsrv中新增udpsrv.cpp檔案 如下 include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1...

基於UDP的socket網路程式設計

udp的網路程式設計模型較tcp簡單一些,因為udp的特點與tcp的不一樣,tcp是面向連線的,udp是無連線的。udp的服務端程式設計可總結為以下幾個步驟 1.使用socket建立通訊描述符 int socket int domain,int type,int protocol type引數應選擇...

基於TCP IP的網路程式設計步驟

一.tcp流式套接字的程式設計步驟 在使用之前須鏈結庫函式 工程 設定 link 輸入ws2 32.lib 伺服器端程式 1 載入套接字型檔 2 建立套接字 socket 3 將套接字繫結到乙個本地位址和埠上 bind 4 將套接字設為監聽模式,準備接收客戶請求 listen 5 等待客戶請求到來 ...