serverSocket.accept()方法大概原理

该方法的注释:

Listens for a connection to be made to this socket and accepts it. The method blocks until a connection is made.

侦听对此套接字的连接并接受它。 该方法将阻塞,直到建立连接。

(大概是方法所在线程被阻塞)

一、ServerSocket  ss = new ServerSocket(8888);

serverSocket.accept()方法大概是这样的:(不一定正确)

监听某个端口有无连接进来了,套接字服务端已经做了哪些工作?

1、(调用os的接口)告诉操作系统,当前程序的socket指定了8888端口,当端口收到连接信息之后,会把消息通过DMA的方式放到一个缓存区中,并唤醒注册在os中的阻塞线程,让这个线程到缓存区处理连接消息。(或者缓存区由socket程序指定)

2、端口有连接进来时,给cpu发中断,然后由该方法所在线程处理连接


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容