用C 寫乙個UDP傳送和接收程式

2021-07-09 15:34:23 字數 1985 閱讀 9196

用c++寫乙個udp傳送和接收程式

2011-03-18 13:10:16

分類: c/c++

傳送程式sender.cpp:

#include

#include

#include

#include

using namespace std;

//建立新的套接字之前需要呼叫乙個引入ws2_32.dll庫的函式,否則伺服器和客戶端連線不上

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

struct test ;

struct udpheartpack ;

int main(int argc, char* argv)

//********************   第二步建立乙個資料報型別的udp套接字  ******************//

socklistener=socket(pf_inet,sock_dgram,0);    

//       setsockopt函式用於設定套介面選項

//       採用廣播形式須將第三個引數設定為so_broadcast

setsockopt ( socklistener,sol_socket,so_broadcast, (char *)&fbroadcast, sizeof (bool) );

//  引數設定,注意要將ip位址設為inaddr_broadcast,表示傳送廣播udp資料報

saudpserv.sin_family = af_inet;

saudpserv.sin_addr.s_addr = htonl ( inaddr_broadcast );

saudpserv.sin_port = htons (udp_port);               //傳送用的埠,可以根據需要更改

while(1)                                         //迴圈傳送資料

//*********************   第四步關閉socket  ***************************************//

closesocket(socklistener);         //關閉監聽socket

wsacleanup();

return 0;

}const static int    buffer_length = 12;

接收端程式receiver.cpp:

#include

#include

#include

//建立新的套接字之前需要呼叫乙個引入ws2_32.dll庫的函式,否則伺服器和客戶端連線不上

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

int main(int argc, char* argv)

socklistener=socket(af_inet, sock_dgram,0);

sin.sin_family = af_inet;

sin.sin_port = htons(7001);             //傳送端使用的傳送埠,可以根據需要更改

sin.sin_addr.s_addr = htonl(inaddr_any);

if(bind( socklistener, (sockaddr far *)&sin, sizeof(sin))!=0)

while(1)

crecvbuff[nbsize] = '\0';                              //字串終止

printf("%s\n",crecvbuff);                              //顯示所接收到的字串

}return 0;

}執行結果如下:

用python寫乙個udp套接字傳送訊息

大概框架是這個樣子的 在執行程式之前,你首先要做的是確保你要連線套接字的電腦與你的電腦能夠ping通。也就是說確保你們在同乙個網段裡。所有準備工作都做完了,最後在敲 就簡單很多了 import socket def main while true udp socket socket.socket s...

C 接收和傳送UDP資料

除了點對點,通常udp資料的傳遞方式有兩種,一種是broadcast,一種是multicast。中文一般把它們翻譯作廣播和組播。前者是簡單的在區域網裡面廣播 後者是借助路由器將資料傳送到包括英特網在內的任何多個位址。在c 裡面,處理udp通訊最簡單的方法就是使用udpclient。具體使用方法我也不...

C 接收和傳送UDP資料

除了點對點,通常udp資料的傳遞方式有兩種,一種是broadcast,一種是multicast。中文一般把它們翻譯作廣播和組播。前者是簡單的在區域網裡面廣播 後者是借助路由器將資料傳送到包括英特網在內的任何多個位址。在c 裡面,處理udp通訊最簡單的方法就是使用udpclient。具體使用方法我也不...