recvfrom獲取對端位址

2021-10-23 00:04:48 字數 572 閱讀 2952

ret = recvfrom(sock, recvbuf, sizeof(recvbuf), 0, (struct sockaddr *)&cliaddr, &clilen );

if(ret <0)

printf("recv client addr : %s  data %s\n",inet_ntoa(cliaddr.sin_addr), recvbuf);

我們可以通過inet_ntoa(client_addr.sin_addr)來獲取到客戶端ip(點分十進位制字串);

我在使用的時候,每次執行到inet_ntoa時候都會(segmentation fault)段錯誤,當時整個人都斯巴達了;

網上查了下資料發現,inet_ntoa就是這麼用啊?????  so???    

sprintf(node->client_addr,"%s",inet_ntoa(client_addr.sin_addr));

坑在這裡。。。

使用inet_ntoa必須新增標頭檔案#include

在編譯沒有開警告的情況下  程式執行到這裡就會segmentation fault

linux 指定網絡卡獲取對方 對端 mac位址

注意 net card name為網絡卡的名稱,如圖一中 device下的即為各網絡卡暱稱。mac為十六進製制總共6個位元組,需要轉換成字串的可以用sprintf轉換一下就可以。int from socket get mac int sock fd,char mac,const char net c...

獲取客戶端IP位址

title generating test data author wufeng4552 date 2009 09 23 10 34 02 功能 獲客戶 ip位址 if object id getclientip isnot null drop proc getclientip go create ...

客戶端獲取IP位址

string ip request.getheader x forwarded for string regex 2 0 4 d 25 0 5 01 d d?2 0 4 d 25 0 5 01 d d?if ip null ip.length 0 ip.equalsignorecase locali...