linux socket UDP程式設計傳送廣播

2021-05-25 00:37:41 字數 1062 閱讀 3148

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define port 7773

#define maxdatasize 256

int main(int argc,char *argv)

setsockopt(socket_fd,sol_socket,so_broadcast,&so_broadcast,sizeof(so_broadcast));

if((bind(socket_fd,(struct sockaddr *)&user_addr,

sizeof(struct sockaddr)))==-1)

strcpy(buf,"hello,i'm on line!");

sendto(socket_fd,buf,strlen(buf),0,(struct sockaddr *)&my_addr,sizeof(my_addr));

size=sizeof(user_addr);

recvfrom(socket_fd,buf,maxdatasize,0,(struct sockaddr *)&user_addr,&size);

strcpy(my_ip,inet_ntoa(user_addr.sin_addr));

printf("my_ip:%sn",inet_ntoa(user_addr.sin_addr));

while(1)     

if((sendto(socket_fd,buf,strlen(buf),0,

(struct sockaddr *)&user_addr,sizeof(user_addr)))==-1)

perror("sendto");

}return 0;

}執行:

gcc -o udp udp.c

./udp

靜態聯編與動態聯編

在c 中,多型性主要是通過函式過載實現的。過載函式是指程式中對同名函式進行呼叫時,編譯器會根據函式引數的型別和個數,決定該呼叫哪一段函式 來處理這個函式呼叫。這種把函式呼叫與適當的函式 相對應的動作,叫做聯編。聯編分為靜態聯編和動態聯編。在編譯階段決定執行哪個同名的被呼叫函式,稱為靜態聯編。在編譯階...

靜態聯編和動態聯編

聯編是指乙個電腦程式自身彼此關聯 使乙個 源程式經過編譯 連線,成為乙個可執行程式 的過程,在這個聯編過程中,需要確定程式中的操作呼叫 函式呼叫 與執行該操作 函式 的 段之間的對映關係,按照聯編所進行的階段不同,可分為靜態聯編和動態聯編。靜態聯編 呼叫函式和被調函式在程式編譯時,他們在記憶體中的位...

靜態聯編和動態聯編

聯編就是將模組或者函式合併在一起生成可執行 的處理過程,同時對每個模組或者函式呼叫分配記憶體位址,並且對外部訪問也分配正確的記憶體位址,它是電腦程式彼此關聯的過程。按照聯編所進行的階段不同,可分為兩種不同的聯編方法 靜態聯編和動態聯編。靜態聯編是指在編譯階段就將函式實現和函式呼叫關聯起來,因此靜態聯...