[英]c++ network programming library
我有一些用C語言進行網絡編程的經驗,但是在我的新項目中,我擁有/擁有使用C ++的能力。 我的問題現在有點籠統了,是否有任何C ++特定的庫已經可用於網絡編程,或者我只是使用與C中相同的方法? 例如,在CI中獲取IP地址將執行以下操作:
fd = socket(AF_INET, SOCK_DGRAM, 0);
ifr.ifr_addr.sa_family = AF_INET;
strncpy(ifr.ifr_name, "eth0", IFNAMSIZ-1);
ioctl(fd, SIOCGIFADDR, &ifr);
strncpy(ip, inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr), IP_ADDR_LEN);
ioctl(fd, SIOCGIFNETMASK, &ifr);
strncpy(netmask, inet_ntoa(((struct sockaddr_in *)&ifr.ifr_netmask)->sin_addr), IP_ADDR_LEN);
close(fd);
我知道我可以在C ++中簡單地使用相同的代碼,但是是否有任何類的方法使其更“容易”?
您想要的庫是asio
。 它可以獨立使用,也可以作為boost庫的一部分使用。
它是免費且跨平台的,支持多線程,異步套接字,同步套接字,計時器,工作隊列。
它幾乎不像c ++標准那樣成為“標准”。
http://www.boost.org/doc/libs/1_57_0/doc/html/boost_asio.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.