簡體   English   中英

cpp socket編程中如何處理connect errno

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

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