linux下使用socket執行的服務程式

2021-06-05 00:50:57 字數 1807 閱讀 9266

//獲得本機ip位址

char* getlocaladdr()

}return addrip;

}

//守護程序的建立

守護程序(daemon)是指其他多工作業系統中在後台執行的電腦程式,並不會接受計算機使用者的直接控制,其好處是不占用終端。

void daemonize()

setsockopt(sockfd, sol_socket,so_reuseaddr,(const char*)&reuse,sizeof(reuse));//設定socket重用

my_addr.sin_family = af_inet;

my_addr.sin_port = htons(port);

my_addr.sin_addr.s_addr=hton1(inaddr_any);

if(bind(sockfd,(struct sockaddr*)&my_addr,sizeof(my_addr))==-1) //繫結埠

if(listen(sockfd,max_pending_connects)==-1)//偵聽

return sockfd;

}//服務與客戶程式通訊的主要呼叫函式

int socketserver(int nport, char * szreply, int nreplylen, char * szrequest)

iret = recv(client_fd, szrequest, max_recv_len,0);//接受資料

szrequest[iret]=0;

if(send(client_fd, szreply,nrepleylen,0)==-1) //傳送回應

perror("sending data to the client failed");

close(client_fd);

return 0;

}//服務與客戶程式通訊的主函式

void main()

}

socket客戶程式

#include #include #include #include #include #include #include #include #include #define max_recv_len 100

//建立與服務程式連線函式

int getconnect(char* host, int port)

serv_addr.sin_family=af_inet;

if((phostent=gethostbyname(host))==null)

memcpy((char*)&(serv_addr.sin_addr),phostent->h_addr,phostent->h_lenght);

serv_addr.sin_port=htons(port);

if(connect(sockfd,(struct sockaddr*)&serv_addr, sizeof(serv_addr))==-1)

return sockfd;

}//客戶程式與服務程式通訊的主要呼叫函式

void socketclient(char* szhost, int nport, char* szrequest, int nrequsetlen,char* szreply)

iret = recv(sockfd, szreply, max_recv_len,0) //接受資料

szreply[iret]=0;

close(sockfd);

}void main()

linux下socket程式設計

一 什麼是socket socket可以看成是使用者程序與核心網路協議棧的程式設計介面。socket不僅可以用於本機的程序間通訊,還可以用於網路上不同主機的程序間通訊。socket api是一層抽象的網路程式設計介面,適用於各種底層網路協議,如ipv4 ipv6。struct sockaddr in...

linux下socket程式設計

作為乙個嵌入式開發者,在實際的研發專案中,常常需要編寫socket網路程式設計介面,提供給軟體開發人員。下面將提供乙個常用的 模板 客戶端的功能可以用微控制器多功能除錯助手進行驗證 include include include include include include include def...

linux下socket程式設計

簡單的linux下socket程式設計,分別基於tcp和udp協議實現的簡單程式 linux下socket程式設計可以概括為以下幾個函式的運用 流程 將套接字繫結到伺服器的網路位址上 if bind server sockfd,struct sockaddr my addr,sizeof struc...