关于java socket的东西

socket客户端:


在socket的构造器中有一个setImpl()方法
如果创建成功,会将自己封装给SocketImpl类


connect的核心代码

进入createImpl方法:


此处的方法创建socket套接字


部分connect链接


真正实现链接的方法,上面的都是封装


此时客户端已经实现了链接。

进入 socket.getOutputStream();




此处返回的是一个new SocketOutputStream(this);

继续点进去


我们调用父类的构造器,初始化文件描述符

最后点进impl.getSocket();


发现居然是SocketImpl类


点击setSocket查看何处设置的soc


居然又回到了我们最开始创建socket的时候

奇怪的问题,在java里我们是怎么写入 socket流的?

我们点入outputStream.write();方法


会找到这样一个方法,写入特殊输出的流

点击它的实现方法:


就会发现熟悉的封装子类了



最后就找到地了
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文概述整理了一下socket的基础用法,以及从源码层面理解HttpURLConnection的底层也是使用的so...
    Horps阅读 808评论 0 1
  • 网络通信 * 网络编程 在一定的写一下实现两台计算机的连接 * 网络通信协议 计算机之间通信需要遵守通信协议 * ...
    A小雅_95c5阅读 167评论 0 0
  • 一、Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者...
    脑袋君阅读 3,565评论 5 46
  • TCP协议是面向连接的、可靠的、有序的、以字节流的方式发送数据,通过三次握手方式建立连接,形成传输数据的通道,在连...
    编程小世界阅读 677评论 0 1
  • ava中的TCP通信程序 TCP可以实现两台计算机之间的数据交互通信的两端,要严格区分客户端与服务端 两端通信时的...
    联旺阅读 208评论 0 0