我正在编写一个C(linux)中的多线程服务器应用程序,它必须监听2个不同的端口号,例如监听端口号3000和4000,以连接不同的客户端以服务不同的功能实际功能由工作者线程执行,主线程无限期地运行并在新连接时产生新工作者)。我不确定select是否会在这里工作,因为我们可以有多个套接字连接,但都与相同的端口号相关联。我试着依次绑定到sock_1和sock_2。当我运行client_1时,一切都按预期工作。但是,当我运行client_2时,在客户端的connect()上出现错误。如果select()可以在这里使用,请让我知道如何去做。任何帮助非常感谢!谢谢 !多端口监听套接字linux
(PS sock_1指端口没有3000和sock_2指端口没有4000,的Client_1指客户多数民众赞成从端口3000和client_2的寻求服务是指从来自端口号4000相同的服务器客户端寻求服务)
这正是'select'设计的目的。 (和'poll','epoll','kqueue'等等)你有没有试过阅读'select'手册页? –