【发布时间】:2013-12-13 02:16:12
【问题描述】:
我尝试在linux中制作rtsp服务器,我认为服务器会自动选择单线程或多线程。
如您所知,RTSP 在服务器和客户端之间有很多数据包。 (视频、音乐等实时数据)
所以,我认为 epolling 不是一个好的选择。因为在这种情况下,事件每次都会发生。
另外,听说1个线程1个socket不好。由于同样的原因,这也不是一个好的选择。
我看到了关于那个的示例代码,没有人在一个线程中进行 epolling 或多套接字。 (可能只是示例代码)
对吗? rtsp服务器使用epolling不是没有意义吗?
【问题讨论】:
-
要在一台服务器中处理多个客户端/服务,您需要一台状态机。如果您为每个客户端使用一个线程,则操作系统通过为每个客户端 服务器线程提供它自己的堆栈来为您提供状态机。如果你使用非阻塞设计,你必须在你自己的代码中实现状态机。
标签: multithreading sockets rtsp epoll