所以我们知道它会跳到ChunkedDataInputStream#read()方法中。我们F7跟进去查看
这边我们可以思考是不是这些序列化数据的大小呢?
因为是false,所以直接跳过这个条件,进入了return;
然后返回给了var2中
此处通过switch对var2值进行判断,此处为0,所以进入了第一个条件语句
return (new InboundMsgAbbrev.ServerChannelInputStream(var1)).readObject();那么我们先进入InboundMsgAbbrev#ServerChannelInputStream()中查看虚实
进入后,继续深入getServerChannel()
this.connection之中存储着一些连接的数据,如地址,端口等等,然后调用getChannel(),这边是处理T3协议的socket地方;我们F7跟进查看
我们进入之后可以看到还有静态代码块,而这静态代码块则是服务器返回过来的版本,我们继续看看
随后会return 回这串地址,端口信息。我们再f8返回
我们跳了三层,返回到之前的路口点,那么接下来我们就是进入InboundMsgAbbrev#readObject()中
此处我们跳到了read()当中,因为前面的不重要,我们也不需要深究了
这边再次进入到父类中的read()方法中,我们依旧进入到了ChunkedInputStream# read(),该方法主要是读取head数据也就是我们发送的包
随后继续返回到了上一步
几次的F7和F8后,进入了read(byte[] var1, int var2, int var3)中