java socket-服务器端.accept() 源码分析.md

314 阅读1分钟

问题

第一次
1.服务器端启动 接受客户端连接
2.客户端启动 连接服务器
3.服务器端和客户端互相通信


第二次
1.服务器端 继续 接受客户端连接
2.客户端没有连接 虽然有循环 //问题-客户端为什么没有循环执行?
3.所以服务器端 仍然一直阻塞在那里等待客户端连接

应用程序代码

源码分析

abstract class AbstractPlainSocketImpl extends SocketImpl

{


protected void accept(SocketImpl s) throws IOException {

        acquireFD();

        try {

            socketAccept(s); //执行到这里 断点就不能往下执行了?        

        } finally {

            releaseFD();

        }

    }