[英]How to handle connect errno in cpp socket programming
我是網絡編程的新手,目前正在遵循Beej 的指南以熟悉此內容。
本書介紹getaddrinfo()
函數時,告訴我如何使用gai_strerror()
將返回的錯誤代碼解釋為可讀字符串。 然而,這本書沒有介紹connect()
的錯誤處理方法,我想知道是否有一個類似的函數可以完成與gai_strerror()
對getaddrinfo()
所做的相同的工作?
這是我的代碼:
if((status=connect(sockfd, res->ai_addr, res->ai_addrlen)) != 0){
fprintf(stderr, "connect: %s\n", function_to_be_used(status));
return 2;
}
從connect
函數參考:
如果連接或綁定成功,則返回零。 出錯時,返回 -1,並設置 errno 以指示錯誤。
因此,您需要以下代碼:
fprintf(stderr, "connect: %s\n", strerror(errno));
getaddrinfo
錯誤處理是一種異常,大多數 API 在錯誤時設置errno
,可以使用strerror
將其轉換為錯誤消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.