读书人

Socket简略理解

发布时间: 2012-12-22 12:05:05 作者: rapoo

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

?

?

?

?

读书人网 >编程

热点推荐