[英]Basic linux C++ networking: connection refused, however no error raised
我正在linux上編寫C ++網絡服務器原型 。 我已經獲得套接字文件描述符,將其綁定到端口6666上的127.0.0.1,用listen標記套接字並稱為accept。 程序運行,直到接受且沒有eny錯誤,然后等待。
在nestat --all
仍然沒有關於我的套接字的記錄。
我嘗試了telnet 127.0.0.1 6666
命令,但connection refused
,但是我的服務器仍在運行。
我不認為這是由防火牆引起的,因為可以在Internet上找到示例。 我認為錯誤處理可能存在一些錯誤,我對C ++不太熟悉。
這是我在pastebin上的源代碼 。
感謝您的時間和精力! :)
請注意, incoming_addr
被聲明為指針,因此您的sizeof
返回了指針的大小。 嘗試使用sizeof(struct sockaddr_storage)
。
getAddress
應該接收const char *address
而不是const char address
。 您確實要傳遞整個地址,而不只是第一個字符。 這還需要您從inet_addr(&address)
address
中刪除&
,並將其調用為getAddress(addr, SERVER_PORT)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.