Socket简单理解
????? 就是两个通信端相互传输数据,Socket就是一个端点网络通信需要做的两件事
?? ? ?1.寻找主机地址
?? ? ?2.数据传输
?
TCP/IP UDP/IP在其中扮演的角色?? ? ?IP协议用来确定主机地址
?? ? ?TCP/UDP来做数据传输
?
?? ? ?TCP:面向连接的协议, 需要选建立连接,再传输数据,所以可以确保数据的正确性及时序性,数据传输无大小限制
?? ? ?UDP:无连接的协议,数据独立传输,不确保数据正确性及时序性 有大小限制,64KB
?
Socket的理解?? ? ? Socket:此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器之间的通信端点。
?? ? ? 此为jdk文档上的解释,很好理解,就是两个端
?
?? ? ?Socket:客户端实现类
?? ? ?ServerSocket:服务端实现类?
?? ? ?要注意的Socket不光支持TCP/IP协议 ,所以Socket与协议没有必然联系
?
?? ? ?Socket,ServerSocket实际都是由SocketImpl来实现的.它们持有如下实例
?? ? ? ?
/** * The implementation of this Socket. */ private SocketImpl impl;
?
?
Socket工作的过程:简单理解?? ? 1.创建Socket
?? ? 2.读写数据
?? ? 3.关闭Socket
?
?
ServerSocket server = new ServerSocket(6000);//服务端Socket client = server.accept();//为每个请求建立一个SOCKETSocket client = new Socket("localhost", 6000);//客户程序启动通过6000端口和服务器联系,和服务器保持端口一致。 //Socket的读写数据client.getInputStream();client.getOutputStream();?
?? ?服务只有port,建立的是自身IP ? ,客户端new的时候,会写上host,指明要连接到哪个IP的哪个port
?
?
?
?