1 一个客户程序(浏览器)想要连接服务器 看网页 用的是本地的80端口 还是去连接服务器的80端口 还是2端都要是80端口
  
  2 HTTP1.1协议和HTTP1.0协议的区别是前者可以保持连接 那么如果服务器端用的是80端口和客户连接 那么这个时候服务器的80端口就被占用了 但是既然是服务器 客户肯定不止一个 后面的客户都会连不进来了吧?(是不是在这里我对80端口理解有误?是不是很多客户可以一起连接服务器的80端口 而不存在“霸占”这个词)  3 “端口”是不是仅仅是一个符号 因为主机同一个时刻可能很多进程要通信 那么信道想要“复用” 必须对数据报标识是属于哪个进程的 那么这个标识符就是“端口” 是这个意思吗?如果不是 谁能和我通俗的说说“端口”  4 计算机是如何做到端口和服务绑定的 比如HTTP服务对应的是80端口 这样的绑定是怎么形成的? 能自定义的改吗? 我这个问题可能比较小白 小家见笑

解决方案 »

  1.   

    2者的80端口都是需要的,80端口是多对多的关系,可以多个同时连接。在系统中已经设定好了,那么就不能自己修改该协议所用的端口,不同于其他端口,有的不能复用、FTP的端口是可以修改的,但是HTTP服务的端口是不能修改的。
    端口其实就是一种对应关系,由该通道连接实现通信。另外你说的端口和进程并没有特别的联系。
    某些端口的复用可以通过编程实现
      

  2.   

    服务器监听的端口,比如WEB SERVER 监听80,是一个特殊的端口,通过listen激活,专门负责与客户端建立连接(connect-->accept),如果连接建立,服务器分配一个新的套接字(新的可用端口),与该客户端进行后续通信,监听80端口则尝试下一个accept,如此循环下去...端口,使得计算机的通信的可以有几万个信道,你的理解是对的
      

  3.   

    1、指服务器的端口是80,客户端可以是随机端口,也可以是固定端口。
    2、服务器监听80端口时可以有多个客户端连接进来,每连接一个客户端就产生一个新的套接字,每个套接字代表与一个客户端的连接,它们都是80端口。
    3、端口号只是一个ID,当服务器侦听某个端口时,相当于告诉系统这个ID属于我,所有连接到此ID的包都交给我处理。
    4、只要侦听端口成功就表示端口绑定服务成功。端口号可以随意指定,但是1024以内的端口号都已经分配给标准服务了,部分大于1024的端口号也代表标准服务(但没有强制性),例如HTTP的标准端口是80,这是强制的,但是HTTP服务器还可以绑定更多的端口号,比如8000/8080一般也表示HTTP,或者其它任何端口号,但这些没有强制性。
      

  4.   

    多谢LS几位朋友的回答 还是有点不明白 1 HTTP1.1 就是保持连接 服务器和客户不断开 那么这个时候服务器的80端口就一直被占用了 这个时候其他的客户怎么办? 2 HTTP协议 通过80端口建立了链接后 是不是应该立刻用一个别的端口和客户通信呢?这样比较合理(服务器监听80端口 一旦发现有客户连接 就建立一个新的线程去负责通信 而UI几乎监听80端口 这个时候80端口理应是空出来的 是不是?)求求有经验的高手帮帮我 小弟感谢不尽