資源簡介
數據包。在OSI模型中,在第四層——傳輸層,處于IP協議的上一層。UDP有不提供數據報分組、組裝和不能對數據包的排序的缺點,也就是說,當報文發送之后,是無法得知其是否安全完整到達的。 UDP用來支持那些需要在計算機之間傳輸數據的網絡應用。包括網絡視頻會議系統在內的眾多的客戶/服務器模式的網絡應用都需要使用UDP協議。UDP協議從問世至今已經被使用了很多年,雖然其最初的光彩已經被一些類似協議所掩蓋,但是即使是在今天,UDP仍然不失為一項非常實用和可行的網絡傳輸層協議。

代碼片段和文件信息
#include
#include
#include
/*
此客戶端、服務器?實現了交互式的通信方式
每次通信時由客戶端或者服務器輸入要發送的數據并保存到
recvBuf變量中在發送,
在客戶端或者服務器接受數據時,都要進行判斷
判斷對方是否想退出通信,這是通過對方發來的消息的第一個字符是否為e來實現的,
若是則通過break語句跳出循環,
通過調用closesocket函數關閉一個套接口,在調用WSACleanup終止Ws2_32.dll的使用
程序也終止。
*/
void?main()
{
WORD?wVersionRequested;
WSADATA?wsaData;
int?err;
wVersionRequested?=?MAKEWORD(?1?1?);
err?=?WSAStartup(?wVersionRequested?&wsaData?);
if?(?err?!=?0?)
{
return;
}
if?(?LOBYTE(?wsaData.wVersion?)?!=?1?||//判斷版本是否為1?1
????????HIBYTE(?wsaData.wVersion?)?!=?1?)
{
WSACleanup(?);
return;?
}
SOCKET?SocketClient?=?socket(?AF_INET??SOCK_DGRAM??0);
SOCKADDR_IN?AddressServer;?//發送到服務器的地址信息
AddressServer.sin_addr.S_un.S_addr?=?inet_addr(“127.0.0.1“);
//將點分十進制轉換為u_long型
AddressServer.sin_family?=AF_INET;
AddressServer.sin_port?=?htons(5000);//轉換為網絡字節序
char?recvBuf[100];//用于存儲接受的數據
char?sendBuf[100];//用于存儲要發送的數據
int?len=sizeof(SOCKADDR);
cout<<“********UDP網絡編程客戶端********“< while(1)
{
cout<<“請輸入數據:“;
cin>>sendBuf;
sendto(SocketClient??sendBuf??strlen(sendBuf)+1??0(SOCKADDR*)&AddressServer??len);
recvfrom(?SocketClient??recvBuf??100??0??(SOCKADDR*)&AddressServer??&len);
//判斷服務器是否想退出,若是則退出循環
if(recvBuf[0]==‘e‘)
{
sendto(SocketClient??“會話結束!拜拜!“??strlen(“會話結束!拜拜!“)+1??0(SOCKADDR*)&AddressServer??len);
cout<<“會話結束!“< break;
}
cout<<“UDPServer?say:“< }
closesocket(?SocketClient?);
WSACleanup(?);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????532??2010-11-29?20:40??UDP協議實現交互式通信\UDPNetClient\UDPNetClient.dsw
?????文件???????1341??2010-12-04?22:04??UDP協議實現交互式通信\UDPNetClient\UDPNetClient.plg
?????文件??????41984??2010-12-28?12:20??UDP協議實現交互式通信\UDPNetClient\UDPNetClient.ncb
?????文件???????4390??2010-11-29?21:23??UDP協議實現交互式通信\UDPNetClient\UDPNetClient.dsp
?????文件???????1821??2010-12-04?22:04??UDP協議實現交互式通信\UDPNetClient\UDPNetClient.cpp
?????文件?????156672??2010-12-10?19:50??UDP協議實現交互式通信\UDPNetClient\Debug\vc60.idb
?????文件??????86016??2010-12-04?22:04??UDP協議實現交互式通信\UDPNetClient\Debug\vc60.pdb
?????文件?????525312??2010-12-04?22:04??UDP協議實現交互式通信\UDPNetClient\Debug\UDPNetClient.pdb
?????文件?????255996??2010-12-04?22:04??UDP協議實現交互式通信\UDPNetClient\Debug\UDPNetClient.ilk
?????文件?????213055??2010-12-04?22:04??UDP協議實現交互式通信\UDPNetClient\Debug\UDPNetClient.exe
?????文件????3706888??2010-11-30?21:13??UDP協議實現交互式通信\UDPNetClient\Debug\UDPNetClient.pch
?????文件??????17381??2010-12-04?22:04??UDP協議實現交互式通信\UDPNetClient\Debug\UDPNetClient.obj
?????文件??????48640??2010-12-28?12:20??UDP協議實現交互式通信\UDPNetClient\UDPNetClient.opt
?????文件????????532??2010-12-10?19:24??UDP協議實現交互式通信\UDPNetServer\UDPNetServer.dsw
?????文件??????50176??2010-12-20?21:44??UDP協議實現交互式通信\UDPNetServer\UDPNetServer.ncb
?????文件???????1362??2010-12-10?19:40??UDP協議實現交互式通信\UDPNetServer\UDPNetServer.plg
?????文件???????4396??2010-12-10?19:24??UDP協議實現交互式通信\UDPNetServer\UDPNetServer.dsp
?????文件?????254976??2010-12-10?19:49??UDP協議實現交互式通信\UDPNetServer\Debug\vc60.idb
?????文件??????86016??2010-12-10?19:40??UDP協議實現交互式通信\UDPNetServer\Debug\vc60.pdb
?????文件?????254504??2010-12-10?19:40??UDP協議實現交互式通信\UDPNetServer\Debug\UDPNetServer.ilk
?????文件?????213088??2010-12-10?19:40??UDP協議實現交互式通信\UDPNetServer\Debug\UDPNetServer.exe
?????文件?????533504??2010-12-10?19:40??UDP協議實現交互式通信\UDPNetServer\Debug\UDPNetServer.pdb
?????文件????3703748??2010-12-10?19:39??UDP協議實現交互式通信\UDPNetServer\Debug\UDPNetServer.pch
?????文件??????18243??2010-12-10?19:40??UDP協議實現交互式通信\UDPNetServer\Debug\UDPNetServer.obj
?????文件???????1970??2010-12-10?19:40??UDP協議實現交互式通信\UDPNetServer\UDPNetServer.cpp
?????文件??????48640??2010-12-20?21:44??UDP協議實現交互式通信\UDPNetServer\UDPNetServer.opt
?????目錄??????????0??2010-12-05?16:24??UDP協議實現交互式通信\UDPNetClient\Debug
?????目錄??????????0??2010-12-10?19:25??UDP協議實現交互式通信\UDPNetServer\Debug
?????目錄??????????0??2010-12-05?16:24??UDP協議實現交互式通信\UDPNetClient
?????目錄??????????0??2010-12-10?19:25??UDP協議實現交互式通信\UDPNetServer
............此處省略4個文件信息
- 上一篇:MFC創建多線程工作者線程demo
- 下一篇:SVM C語言實現
評論
共有 條評論