Ⅰ 如何打開linux本地回環的udp廣播設置
你不讀就當做收不到了,為什麼要去讀廣播到的埠呢。
Ⅱ linux Ubuntu 中,寫了一個簡單的UDP協議,只用了sendto 與recvfrom ,出錯了
在網路的編輯選項裡面有可以寫代碼的,最起碼代碼格式整齊,容易閱讀。版
客戶端的權serv_addr.sin_addr.s_addr=INADDR_ANY這里使用伺服器的固定地址試試。廣播模式這個地址好像是用255.255.255.0的(區域網下)。
Ⅲ C++實現跨平台主機之間的UDP廣播,多台主機可能是Linux也可能是Win32或者兩個混合。
ABC三台不同系統的電腦是不是在同一個區域網?linux端的客戶端程序沒有寫好吧。
Ⅳ 求一linux接收udp廣播程序(提供模板)
哥們,沒bind你收啥?你又把my_addr傳給recvfrom幹啥(該傳their_addr).
我給你寫了個
#include <stdio.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>
int main()
{
int n, fd;
socklen_t cli_addr_len;
char buf[1024] = {0};
struct sockaddr_in servaddr, cliaddr;
if((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
{
printf("socket error!\n");
exit(0);
}
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(9999);
bind(fd, (struct sockaddr *)&servaddr, sizeof(servaddr));
while(1)
{
cli_addr_len = sizeof(cliaddr);
n =recvfrom(fd, buf, 1024, 0, (struct sockaddr *)&cliaddr, &cli_addr_len);
printf("%d\n", n);
}
}
這個程序只能收到發往本機IP地址和廣播地址的埠為9999的數據包,如果你要監聽區域網中的所有廣播包(任意埠),可以用原始套接字,我前兩天正好寫了個,功能很強大哦:),已經是個嗅探器了,你用的時候加上 -u 選項就可以了。
famdestiny.cublog.cn
Ⅳ Linux 某網段udp廣播消息怎麼實現
不可以,必須是同一個網段,然後廣播地址可以是192.168.1.255或者255.255.255.255
Ⅵ 關於linux下udp廣播包
你確認你的廣播包在eth0和wlan0上都發出了嗎?我估計只在eth0上發了。
教你一個辦法確認,在linux上使用tcpmp 抓包:
tcpmp -i eth0
tcpmp -i wlan0
Ⅶ LINUX SOCKET UDP C 廣播問題
我也想知道,這個問題也在困擾著我。
我看了網上別人的看法,udp廣播在實現的時候就自己cope了一份數據包給自己,ip層無法拒收,只能在應用層排除。
Ⅷ linux 下的網路編程,udp組播求幫助
建議你看一下:
Linux網路編程 之 UDP 組播
網頁鏈接
然後再網路一下《Linux就該這么學》,你應該會對udp組播有進一步了解。
Ⅸ linux下的UDP通訊怎麼接受不到廣播
說明:把廣播地址改為伺服器地址時接收正常 ?
如果接收正常就OK了?你發送到廣播地址,接收到的是伺服器發出的.
發送 -> to 255.255.255.255
接受 -> bind 0.0.0.0 -> from server_addr
要不然就是你沒有說清楚
---------------------------
你希望伺服器收到自己的廣播?那個不是保證可以正確的。不一定會收到幾個,也可能沒有。