服務端程式為:
#include
#include
#include
#include
#include
#include
#include
int main()
;recvfrom(isock, szbuf, sizeof(szbuf) - 1, 0, (struct sockaddr *)&srvaddr, (socklen_t*)&srvaddrlen); // 注意: 這裡用srvaddr是不好的,應該用cliaddr,表示對方位址
printf("msg from client [%s]\n", szbuf);
}close(isock);
return 0;
}客戶端程式為:
#include
#include
#include
#include
#include
#include
#include
int main()
;snprintf(szbuf, sizeof(szbuf), "hello %d", ++i);
sendto(isock, szbuf, strlen(szbuf) + 1, 0, (struct sockaddr *)&srvaddr, sizeof(srvaddr));
}close(isock);
return 0;
}makefile為:
all: server client
server: server.o
g++ -o server server.o
client: client.o
g++ -o client client.o
server.o: server.cpp
g++ -c server.cpp
client.o:client.cpp
g++ -c client.cpp
clean:
rm -f server client *.o
編譯並執行, 先啟動服務端, 然後啟動客戶端。 因為程式中有getchar卡住, 所以我們需要按enter鍵來控制客戶端的傳送和服務端的接受。
---------------------
原文:
linux UDP廣播通訊
2013 02 04 10 18 3881人閱讀收藏 舉報 c 語言 89 linux system 153 在除錯區域網內通過udp協議獲取其他裝置ip位址時,伺服器使用udp 廣播後,客戶端裝置無響應.先研究一下正常情況下,udp廣播通訊方法.參考了網路上一寫資料.整理如下 伺服器端向 255....
linux UDP 通訊使用例項
udp server程式 1 編寫udp server程式的步驟 1 使用socket 來建立乙個udp socket,第二個引數為sock dgram。2 初始化sockaddr in結構的變數,並賦值。sockaddr in結構定義 struct sockaddr in 這裡使用 08 作為服務...
Linux UDP實現廣播
特點 較tcp來講udp無需建立連線可以直接傳送訊息,udp是對網路環境完全不彌補的協議,所以使用dup就要允許有一定的丟包率,udp廣播是面向區域網內所有的裝置的。對比tcp連線時服務端的ip位址的重要性來講,udp廣播中本機的ip顯得並不重要了。在udp廣播中不同於tcp的我們需要對網路套接字設...