一、基於udp協議的socket網路程式設計流程:
採用 udp 套接字方式實現c/s的通訊程式由客戶端和伺服器端兩部分組成。
伺服器端程序依次按以下步驟進行:
1) 呼叫socket()建立乙個資料報套接字;
2) 呼叫 bind()把伺服器位址繫結在該套接字上;
3) 呼叫recvform()等待客戶程序發來的請求,伺服器此時處於無限迴圈狀態;
4) 服務程序接收到客戶程序所發來的資料報後,進行處理,呼叫 sendto()將處理結果返回給客戶程序,返回狀態3) 繼續監聽;
5) 服務程序呼叫 close()撤消套接字,終止服務。
客戶端程序則按以下步驟進行:
1) 呼叫socket ()建立乙個資料流套接字;
2) 呼叫sendto () 向伺服器程序傳送資料報;
3) 呼叫recvfrom()等待伺服器程序返回該處理結果;
4)客戶程序呼叫close()撤消套接字。
二、**如下:
伺服器端**:udp_server.c
#include
#include
#include
#include
#include
#include
#include
#include
#include
void main()
; int len=sizeof(cli);
recvfrom(sock,buff,127,0,(struct sockaddr*)&cli,&len);
printf("srcaddr:%s,port:%d\n",inet_ntoa(cli.sin_addr),
ntohs(cli.sin_port));
printf("buff:%s\n",buff);
sendto(sock,"ok",2,0,(struct sockaddr*)&cli,len);
}close(sock);
}
客戶端**udp_client.c
#include
#include
#include
#include
#include
#include
#include
#include
#include
void main()
; fgets(buff,128,stdin);
buff[strlen(buff)-1]=0;
int len=sizeof(cli);
sendto(sock,"ok",strlen(buff),0,(struct sockaddr*)&ser,sizeof(ser));
memset(buff,0,128);
recvfrom(sock,buff,127,0,null,null);
printf("%s\n",buff);
}close(sock);
}
基於UDP協議的socket程式設計
一 socket概述 1.socket一般被稱為 套接字 網路上的兩個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端就叫做socket。2.建立網路通訊連線至少需要乙個埠號 socket socket利用網路之間的通訊設施實現程序通訊,但它對通訊設施的細節不關心,只要通訊設施能夠提供足夠的...
基於UDP協議的socket程式設計
udp協議特點 1.無連線。服務端與客戶端傳輸資料之前不需要進行連線,且沒有超時重發等機制,只是把資料通過網路傳送出去。也正是因為此特點,所以基於udp協議的socket的客戶端在啟動之前不需要先啟動服務端。2.不可靠。資料在本地通過網路發出之後,udp協議會立即清除本地的快取,即使對方沒有收到該資...
基於Socket的UDP和TCP協議
一 概述 tcp 傳輸控制協議 和udp 使用者資料報協議 是網路體系結構tcp ip模型中傳輸層一層中的兩個不同的通訊協議。tcp 傳輸控制協議,一種面向連線的協議,給使用者程序提供可靠的全雙工的位元組流,tcp套介面是位元組流套介面 stream socket 的一種。udp 使用者資料報協議。...