serverSocket.accept()方法大概原理

2019-04-28  本文已影响0人  屎倒淋头还嚼便

该方法的注释:

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发中断,然后由该方法所在线程处理连接

上一篇下一篇

猜你喜欢

热点阅读