作為乙個嵌入式開發者,在實際的研發專案中,常常需要編寫socket網路程式設計介面,提供給軟體開發人員。下面將提供乙個常用的**模板(客戶端的功能可以用微控制器多功能除錯助手進行驗證):
#include
#include
#include
#include
#include
#include
#include
#define buffsize 1024
void handleclient(int sock)
else
else
if(strncmp(cmd_buffer,"ranjiejie",9)==0)
else
}close(sock);
}int main(int argc,char **argv)
int bind_free=1;
if(setsockopt(listenfd,sol_socket,so_reuseaddr,&bind_free,sizeof(bind_free))==-1)
memset(&sockaddr,0,sizeof(sockaddr));
sockaddr.sin_family = af_inet; // ipv4 協議
sockaddr.sin_addr.s_addr = htonl(inaddr_any); //inaddr_any,來代表本機所有可用的網路位址
sockaddr.sin_port = htons(10982); //埠號
if(bind(listenfd,(struct sockaddr *) &sockaddr,sizeof(sockaddr))<0)//繫結位址和埠
if(listen(listenfd,1024)<0) //設定 socket 為監聽模式
printf("please wait for the client information\n");
while(1)
handleclient(connfd);
}close(listenfd);
}
linux下socket程式設計
一 什麼是socket socket可以看成是使用者程序與核心網路協議棧的程式設計介面。socket不僅可以用於本機的程序間通訊,還可以用於網路上不同主機的程序間通訊。socket api是一層抽象的網路程式設計介面,適用於各種底層網路協議,如ipv4 ipv6。struct sockaddr in...
linux下socket程式設計
簡單的linux下socket程式設計,分別基於tcp和udp協議實現的簡單程式 linux下socket程式設計可以概括為以下幾個函式的運用 流程 將套接字繫結到伺服器的網路位址上 if bind server sockfd,struct sockaddr my addr,sizeof struc...
Linux下Socket程式設計 二
亞嵌 連線建立 資料傳輸 send 和recv 這兩個函式用於面向連線的socket上進行資料傳輸。send 函式原型為 int send int sockfd,const void msg,int len,int flags sockfd是你想用來傳輸資料的socket描述符 msg是乙個指向要傳...