SFML TCPListener无法绑定到端口的原因?

时间:2016-02-06 22:47:32

标签: networking tcp port sfml

我只是熟悉网络,但我确实理解术语。我正在使用Visual C ++ 2015中的SFML 2.3.2启动服务器多客户端项目,并且做到了这一点:

#include "stdafx.h"
#include <iostream>
#include "SFML/Network.hpp"

const unsigned short PORT = 5000;

void Server(void)
{
    sf::SocketSelector TCPSelect;

    // Add listener
    sf::TcpListener TCPListen;
    if (!TCPListen.listen(PORT))
    {
        std::cout << "Failed to bind Listener on port " << PORT << std::endl;
    }
}

int main()
{
    Server();
    return 0;
}

输出:无法在端口5000上绑定侦听器

我已将端口5000用于其他小型网络项目,但这是我第一次使用TcpListener。我尝试按原样运行代码,并使用main()中的所有内容。直接打印TCPListen.listen时,它返回错误状态代码。我当然尝试过不同的端口,有些是在我的路由器上进行端口转发,有些则不是(如果重要的话)。

这是关于我的代码的问题吗? (如果是这样,修复它的方法是什么?)或者这是关于其他事情的问题吗?

1 个答案:

答案 0 :(得分:0)

我想我似乎回答了自己的问题。我的错误是在设置错误消息时误解了有关TcpListener主题的文档。

如果一切正常,函数listen()返回 0 。我通过在调用listen()后打印侦听器的端口来检查这个,后者返回5000。