A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© oscar 中级黑马   /  2012-3-20 15:30  /  2293 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1黑马币
请问关于网络编程中像QQ再被分配了端口以后,如果一台电脑上同时登陆了多个QQ号,那么端口唯一的情况下又是怎么正常通信的?

6 个回复

倒序浏览
我来谈一下我自己的看法,这个问题即涉及到操作系统的知识又设计到计算机网络的东西,当系统运行一个应用程序时,系统会为这个程序分配一个唯一的端口号和独享资源,而实际上在计算机上运行的是进程中的线程,而不同的线程共享这个资源,当然为了唯一的标识一个线程,产生了线程控制块的概念。所以楼主所说的那种情况是不会发生的。当然要是一个qq号运行多个对话框时,由于进程中的资源是进程中的线程共享的,所以就需要cpu运行调度程序来完成一定的功能,其实这里就涉及到计算机网络里面的知识了,qq程序在运行的时候主线程负责监听端口上有没有数据的到来,要是有数据到来的话就在线程控制块所对应的表中查找看看有没有对应的线程,如果没有就创建 一个新的线程负责通信,
回复 使用道具 举报
我来谈一下我自己的看法,这个问题即涉及到操作系统的知识又设计到计算机网络的东西,当系统运行一个应用程序时,系统会为这个程序分配一个唯一的端口号和独享资源,而实际上在计算机上运行的是进程中的线程,而不同的线程共享这个资源,当然为了唯一的标识一个线程,产生了线程控制块的概念。所以楼主所说的那种情况是不会发
回复 使用道具 举报
所以当一个应用程序运行时,通过不可靠的分组交换技术的网络传送来的数据,会先找到达对应的进程的端口号,然后再拆包,把报文段中的数据提交给应用进程,然后系统会根据不同的线程控制块的信息选择一个线程接受这个数据,这也就是cpu的调度程序所要完成的功能,这个就能解释为什么开多个对话框的时候会很卡,甚至死机的原因。(这是凭我的记忆和理解总结出来的东西)希望我的这些解释能够帮的到你,
回复 使用道具 举报
         {:soso_e100:}
回复 使用道具 举报
这是真的吗?我晚了
回复 使用道具 举报
来看看!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马