黑马程序员技术交流社区

标题: 网络编程 Soket [打印本页]

作者: oscar    时间: 2012-3-20 15:30
标题: 网络编程 Soket
请问关于网络编程中像QQ再被分配了端口以后,如果一台电脑上同时登陆了多个QQ号,那么端口唯一的情况下又是怎么正常通信的?
作者: 一生一世    时间: 2012-5-3 19:51
我来谈一下我自己的看法,这个问题即涉及到操作系统的知识又设计到计算机网络的东西,当系统运行一个应用程序时,系统会为这个程序分配一个唯一的端口号和独享资源,而实际上在计算机上运行的是进程中的线程,而不同的线程共享这个资源,当然为了唯一的标识一个线程,产生了线程控制块的概念。所以楼主所说的那种情况是不会发生的。当然要是一个qq号运行多个对话框时,由于进程中的资源是进程中的线程共享的,所以就需要cpu运行调度程序来完成一定的功能,其实这里就涉及到计算机网络里面的知识了,qq程序在运行的时候主线程负责监听端口上有没有数据的到来,要是有数据到来的话就在线程控制块所对应的表中查找看看有没有对应的线程,如果没有就创建 一个新的线程负责通信,
作者: 一生一世    时间: 2012-5-3 19:55
我来谈一下我自己的看法,这个问题即涉及到操作系统的知识又设计到计算机网络的东西,当系统运行一个应用程序时,系统会为这个程序分配一个唯一的端口号和独享资源,而实际上在计算机上运行的是进程中的线程,而不同的线程共享这个资源,当然为了唯一的标识一个线程,产生了线程控制块的概念。所以楼主所说的那种情况是不会发
作者: 一生一世    时间: 2012-5-3 19:59
所以当一个应用程序运行时,通过不可靠的分组交换技术的网络传送来的数据,会先找到达对应的进程的端口号,然后再拆包,把报文段中的数据提交给应用进程,然后系统会根据不同的线程控制块的信息选择一个线程接受这个数据,这也就是cpu的调度程序所要完成的功能,这个就能解释为什么开多个对话框的时候会很卡,甚至死机的原因。(这是凭我的记忆和理解总结出来的东西)希望我的这些解释能够帮的到你,
作者: 荣天    时间: 2012-5-19 20:04
         {:soso_e100:}
作者: 王雪冬    时间: 2014-4-5 14:03
这是真的吗?我晚了
作者: hengxing0079    时间: 2014-6-27 18:08
来看看!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2