面向無連線的udp網路程式設計與tcp相比不用listen監聽,不需要accp接受客戶端請求
(1)伺服器端程式
#include
#include
/////客戶端程式,向伺服器端傳送請求//
/void main()
if(lobyte(wsadata.wversion)!=1||hibyte(wsadata.wversion)!=1)
//以上部分是初始化部分,開啟socket庫
socket socketclient=socket(af_inet,sock_stream,0);
sockaddr_in addrsrv;
addrsrv.sin_addr.s_un.s_addr=inet_addr("127.0.0.1");
addrsrv.sin_family=af_inet;
addrsrv.sin_port=htons(6000);//設定要請求的伺服器的位址及埠號
connect(socketclient,(sockaddr*)&addrsrv,sizeof(sockaddr));//建立連線請求
char recvbuf[100];
recv(socketclient,recvbuf,100,0);//接收伺服器的資訊
printf("%s\n",recvbuf);
send(socketclient,"this is zhangsan",strlen("this is zhangsan")+1,0);//像伺服器傳送資訊
closesocket(socketclient);//關閉套接字
wsacleanup();//關閉wsa
}(2)客戶端程式
#include
#include
//基於udp的面向無連線的客戶端程式//
///void main()
if ( lobyte( wsadata.wversion ) != 2 ||
hibyte( wsadata.wversion ) != 2 )
socket sockclient=socket(af_inet,sock_dgram,0);
sockaddr_in addrsrv;
addrsrv.sin_addr.s_un.s_addr=inet_addr("127.0.0.1");
addrsrv.sin_family=af_inet;
addrsrv.sin_port=htons(6000);//設定要請求的伺服器的 ip位址及埠資訊
sendto(sockclient,"hello world",sizeof("hello world")+1,0,(sockaddr*)&addrsrv,sizeof(sockaddr));
closesocket(sockclient);//關閉套接字
wsacleanup();//關係wsa
}
Socket程式設計基礎 無連線UDP
與面向連線的網路連線相比,無連線的網路通訊不需要在伺服器與客戶端之間建立連線。面向非連線的socket通訊是基於udp的,伺服器端不需要呼叫listen 和accept 函式來等待客戶端的連線 客戶端直接向伺服器傳送資料。1 伺服器端 1 建立socket,繫結本地ip和埠 server socke...
網路程式設計基礎 使用UDP連線
udp 服務端 code author lin yiqian created 2009 09 17 describe udp 服務端 include include pragma comment lib,ws2 32.lib void main void if lobyte wsadata.wver...
C 網路程式設計之UDP
udp簡介 udp 是user datagram protocol的簡稱,中文名是使用者資料報協議,是 一種無連線的傳輸層 協議,提供面向事務的簡單不可靠資訊傳送服務。udp是與tcp相對應的協議,它是面向非連線的協議,它不與對方連線,而直接把資料報傳送過去。面向非連線 就是正式通訊前不必與對方建立...