1.服务端: 监听 2.客户端: 连接 Socket本身是一样的,客户端的是请求,服务端是响应,他们之间可以传递流。 一个套接字: 客户端请求 一个套接字: 服务端处理 一个连接就是一对套接字 联系: socket相当于流缓冲区,都通过各自socket来获取流中的数据。2端socket通过一条固定“电话线”进行通讯,即Client端选择跟哪台Server,哪个端口建立连接;作为Server端只监听相应的端口。在这里,Client处于主动。 建立连接后,两端都可以使用流通过socket相互的发送信息和接受信息。两端的socket都会不断刷新socket里的内容。 区别: 在通讯完毕后,Server端的线程会关闭socket连接 区别在于,通讯前 服务器端套接在 在某一端口处监听客户端的连接,等客户端连接 客户端连接服务器端的 ip 和端口, 等双方连接起来的时候 就可以互相通讯,双方没有区别了。 两个Socket形成一个相互连接的Socket接口,在Client端和Server建立一个可以通讯的通道 InputStream in = new InputStream(s.getInputStream()); OutputStream out = new OutputStream(s.getOutputStream()); 就可以在两端建立一个用于通讯输入输出流 客户端会创建的套接字Socket和服务器端的accept()方法返回的套接字Socket进行通信,而ServerSocket创建的套接字只是用于监听客户端的连接请求,而不进行通信 转载于:https://www.cnblogs.com/liufei88866/archive/2010/07/22/1783074.html