既然大家有兴趣,就多说一点. 我前面说关于IT/HTTP的概念都是对的,http://bbs.creaders.net/life/bbsviewer.php?trd_id=837561&blog_id=142073。 如果在其他地方看到不同的解释,那可能是不同定义的问题。比如说什么叫连接。 这要跟传统的电信和LAN的连接一比就清楚了。 这几天比较忙,有空写一个"通讯连接: 从电信,LAN,到互联网,到量子缠绕。" 大家,大胖球,秦川,衣冠,etc. 说的都有点对。 一个服务器当然可以同时有多个用户连上来,但是数目是有限制的。具体跟系统资源有关。所以我说不用了要把让资源出来。 所谓同时的意思是,如果是单CPU的话,事情总是排队做。 即使是多线程 multi threads, 也是时间切片。 大家轮着做。一次只处理一个线程。 如果是多CPU的话,可能会几个线程一起处理,那CODING 有时比较麻烦。在单CPU机器上写好的多线程程序往往在多CPU机器上出错。 所以有段时间是多用户都连接在机器上, 一会处理你的任务一下,一会处理他的任务一下,而不是一个任务做完到一个任务。 就是在这段内用户是一直连着的等着任务完成。 随便考一下, 软件在PC上一般能开多少个线程? 为什么? 不许GOOGLE, 这是我常考学生的一个问题。 至于port 80. 是 default 给HTTP, 如同 port 21 and 20 default 给FTP 一样,没有什么好说的。 但是, 如果在网站上看电影, 数据一般不会是从 port 80 下来的, 要开其他的port. 因为HTTP 只方便走 TEXT 数据, 不方便走大量的Streaming 视频数据. 视频要走其他的 PORT. 有的公司放火墙只放开给80,就是不想让大家上班看电影等。而网络要查资料,80总是要开的。 但接着出现一些技术来对付这样的情况。 就是音视频如何穿过只开80的放火墙。当年我们做了许多工作, 现在这已经是视频公司的基本技术了。 互联网的带宽始终是一个问题。带宽的增加总赶不上需求。 SKYPE 当年红起来, 就是使用了比较好的 P2P技术来避免了带宽的问题。在所谓的窄带情况下也能用SKYPE。 而不是用传统的Client-Server 技术来做VOIP传输。 SKYPE的服务器只做用户认证和管理。 其音频信号根本就不走 SKYPE的服务器。要不然那里支持得了那么多用户。 带宽的问题是一个客观存在,跟你用什么TCP 还是UDP 无关。 用TCP, 还是UDP , 是音视频公司首先要考虑的问题。如果不做音视频, 网络公司一般不用考虑TCP/UDP的CODING 和问题。 用UDP 丢包, 就是看见马赛克, 用TCP 堵车,动作象木偶。堵车久了也丢包的。或根本就不动了。 一般音视频公司都写一个自己的介于两者之间的协议。 比较大的音视频公司则甚至有自己的音视频编解码器。当然要合乎标准。 网络传输音视频,大多用P2P技术。就是现在的快速下载软件,几乎全是P2技术术。 |