java_Socket

来源:互联网 发布:unity3d和虚幻4区别 编辑:程序博客网 时间:2024/06/05 20:46

Socket理解:
可以将Socket理解电话的两端,有两个接入点通过(IP+Port)来识别。

ServerSocket中的方法 public Socket accept() ;
首先可以知道,返回值是一个Socket类型的变量,但是这个Socket与客户端的有什么联系?有什么关联,是不是客户端中声明的Socket这个问题是刚了解到Socket的困惑。

Socket就相当于电话机,Socket自带着一根电话线,一端连着本机,一端连着远端。
Socket可以理解为两端,首先服务器端使用accpet() 能得到的Socket ,表示已经有客户端连接到了服务器。
得到的Socket便是通信的一个载体,一端连接着本机服务器,另外一端便是连接到服务器的客户端。

此时客户端上声明的Socket,通过构造方法Socket(IP,Port) ;如果连接到服务器,则这个Socket就是客户端通信的载体,一端连接着服务器,一端本机客户端。

服务器上的Socket与客户端上的Socket是独立的,但是两端的接入点是互逆的。

Socket只是一个载体,为的是使用Socket的方法getInputStream() ;得到 输入流 和Socket的方法个体OutputStream()方法,输出本机所需要的。
就相当于电话的听筒和话筒:
听筒需要接受外来信息,就使用getInputStream()方法的到数据,得到了InputStream类型的对象,这就与IO结合到一起,转换为BufferedReader中的readLine()方法,可以读取外部发送的数据 。
话筒需要向外部传出消息,使用getOutputStream()方法来传出数据,得到了OutputStream类型的对象,这与IO结合到一起,可以使用write()方法直接将消息写出,就可以往外面传出数据了。
这里写图片描述
初次编写,如有不当之处请指导!

0 0