1 簡單的建立 UDP 傳輸

2021-08-02 01:47:58 字數 1411 閱讀 6469

接收端:

接收資訊並列印**ip和埠

#define _winsock_deprecated_no_warnings

#include //接收端

#include using namespace std;

#pragma comment(lib,"ws2_32.lib")

enum ;//設定埠為8888

int main()

//sockaddr sa = ; //舊版的,sockaddr_in是新版的

sa.sin_port = htons(port);

sa.sin_addr.s_un.s_addr = 0;//inet_add("192.168.1.1");

int n = bind(sock,(sockaddr *)&sa,sizeof(sa));

char s[2048];//緩衝區,2048個可任意設定,別太小

n = recv(sock, s, sizeof(s), 0);

if (socket_error == n)

sockaddr_in from;//目的為了獲取其位址 具體可查recvfrom函式

int nlen = sizeof(from);

while (true)//一直接收

; n = recvfrom(sock,s,sizeof(s),0,(sockaddr *)&from,&nlen);

s[n] = 0;

cout << "ip:" << inet_ntoa(from.sin_addr) << " port: " << htons(from.sin_port) << endl;//資訊反轉輸出資訊**ip位址和埠

cout << s << endl;

}}

傳送端:

#define _winsock_deprecated_no_warnings

#include //傳送端

#include #pragma comment(lib,"ws2_32.lib")

enum ;//設定埠

int main()

sa.sin_port = htons(0);//0代表系統自動找乙個可用埠

sa.sin_addr.s_un.s_addr = 0;//inet_addr("192.168.1.1");

bind(sock,(sockaddr*)&sa,sizeof(sa));//繫結

sockaddr_in to = ;

sa.sin_port = htons(8888);//對方的埠

char sip[20], s[2048];//定義ip和傳送資料的長度。

while(true)

return 0;

}

網路詳解 傳輸層(1)UDP 介紹

udp,全名 user datagram protocol,就是使用者資料報協議,是乙個簡單的面向資料報的傳輸層協議。在tcp ip模型中,udp為網路層以上和應用層以下提供了乙個簡單的介面。udp只提供資料的不可靠傳遞,它一旦把應用程式發給網路層的資料傳送出去,就不保留資料備份 所以udp有時候也...

c語言實現簡單的udp傳輸( c s 模型)

客戶端 client.c include include include include include include define maxbuf 256 int main int argc,char const argv 解析引數 if argc 2 bzero srv,sizeof srv s...

採用UDP廣播模式寫簡單資訊傳輸工具

使用udpclient類 這個是我寫的測試 供參考 author minbear date 2004 2 29 using system using system.drawing using system.collections using system.ponentmodel using syst...