簡體   English   中英

C ++網絡編程庫

[英]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

http://think-async.com/Asio

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM