C++ 基本linux C++;网络:连接被拒绝,但未引发错误

C++ 基本linux C++;网络:连接被拒绝,但未引发错误,c++,linux,networking,connection,C++,Linux,Networking,Connection,我正在写linux上的C++网络服务器原型。我已经获得了套接字文件描述符,将其绑定到端口6666上的127.0.0.1,用listen标记socket并调用accept。程序运行,直到accept无eny错误,然后等待 在nestat--all中仍然没有关于我的套接字的记录 我已尝试使用命令telnet 127.0.0.1 6666,但连接被拒绝,但我的服务器仍在运行 我不认为这是由防火墙引起的,因为互联网上的例子是有效的。我认为错误处理可能有一些错误,我对C++还不是很熟悉。 这是我的名片 感

我正在写linux上的C++网络服务器原型。我已经获得了套接字文件描述符,将其绑定到端口6666上的127.0.0.1,用listen标记socket并调用accept。程序运行,直到accept无eny错误,然后等待

nestat--all
中仍然没有关于我的套接字的记录

我已尝试使用命令
telnet 127.0.0.1 6666
,但连接被拒绝,但我的服务器仍在运行

我不认为这是由防火墙引起的,因为互联网上的例子是有效的。我认为错误处理可能有一些错误,我对C++还不是很熟悉。 这是我的名片

感谢您的时间和努力!:)

  • 请注意,您的
    incoming_addr
    被声明为指针,因此您的
    sizeof
    将返回指针的大小。尝试使用
    sizeof(struct sockaddr\u存储)

  • getAddress
    应该接收一个
    const char*address
    而不是
    const char address
    。您确实希望传递整个地址,而不是仅传递第一个字符。这还要求您从
    inet\u addr(&address)
    中的
    地址中删除
    ,并将函数调用为
    getAddress(addr,SERVER\u PORT)

  • 请注意,您的
    incoming_addr
    被声明为指针,因此您的
    sizeof
    将返回指针的大小。尝试使用
    sizeof(struct sockaddr\u存储)

  • getAddress
    应该接收一个
    const char*address
    而不是
    const char address
    。您确实希望传递整个地址,而不是仅传递第一个字符。这还要求您从
    inet\u addr(&address)
    中的
    地址中删除
    ,并将函数调用为
    getAddress(addr,SERVER\u PORT)


  • 多谢各位!正是这些指针的错误!:)。现在一切正常,非常感谢!正是这些指针的错误!:)。它现在的工作情况和预期的一样。