对,建立连接后服务端还是用侦听的端口通信。这些都是常规情况,一些特殊服务可能就不是这样的了,如主动ftp就不是这样,TCP协议常见端口有:FTP(文件传输协议,使用21端口。下载文件,上传主页,都要用到FTP服务),Telnet(一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是纯字符界面的,支持BBS的服务器使用23端口,对外提供服务。),SMTP(定义了简单的邮件传送协议,使用25端口。),POP3(POP3是和SMTP对应的。POP3用于接收邮件,使用110端口。)从专业的角度说,TCP的可靠保证,是它的三次握手机制,这一机制保证校验了数据,保证了他的可靠性。而UDP就没有了,所以不可靠。不过UDP的速度是TCP比不了的,而且UDP的反应速度更快,QQ就是用UDP协议传输的,>不要说侦听两个,只要你资源足够,侦听100个都可以的。但是侦听一个端口就要使用一个线程,并在这个线程中响应传入的连接请求,当然还要做一些连接判断或校验,以防止黑客对你进行无限制连接,耗尽你电脑的资源。做网络服务器程序务必要注意安全问题,因为黑客随时会扫描你服务器上开放的端口,然后进行相应的攻击,比如当你接受一个连接请求后,必须要有一个时间间隔来判断该连接是否还处于活动状态,如果该连接是空连接,那么就要及时关闭并释放资源,这样才能及时响应正常的连接。FTP协议使用了二个以上的端口。FTP是基于客户服务器模型而设计的,在客户端与FTP服务器之间建立两个连接。FTP协议在两台通信的主机之间使用了两条TCP连接,一条是数据连接,用于数据传送,另一条是控制连接,用于传送控制信息(命令和响应)。端口有很多种。
TCP段结构中端口地址是16比特,可以有在0~65535范围内的端口号。对于这65536个端口号,有以下使用规定。
(1)端口号小于256的定义为常用端口,服务器一般都是通过常用端口号来识别的。任何TCP/IP实现所提供的服务都用1~1023之间的端口号。这些端口号由Internet端口号分配机构来管理。
(2)客户端通常对它所用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号因存在时间很短暂又称作临时端口号。
(3)大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其他服务器预留的Internet上并不常用的服务。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)