关于Socket编程的这些你必须掌握!

Socket编程

什么是套接字?

套接字是使用TCP提供通信机制在两台计算机之间进行通信。客户端程序在通信的末尾创建一个套接字,并尝试将套接字连接到服务器。建立连接后,服务器会在通信结束时创建一个套接字对象。客户端和服务器现在可以通过写入和读取套接字进行通信。

1.服务器端-java.net.ServerSocket 基站类

为服务器提供了一种监听客户端并与其建立连接的一种机制。

核心方法:

public ServerSocket(int port):在本机根据指定端口号创建服务器
public Socket accept():侦听并接收连接到本服务器的客户端连接

此方法会一直阻塞,直到有一个客户端成功连接,返回此连接。

2.客户端-java.net.Socket 客户端类

一个socket类就表示一个套接字。

核心方法:

public Socket(String host,int port):
根据指定ip和端口号创建套接字并连接到远程服务器
public InputSteam getInputStream():返回此套接字的输入流
public OutputStream getOutputStream():返回此套接字的输出流

3.使用Socket在两台计算机之间建立Tcp连接的步骤

1)服务器实例化一个ServerSocket对象,并指出要在哪个端口进行通信。 2)服务器端调用accept方法,此方法等待直到客户端连接到给定端口的服务器,之后客户端实例化一个Socket对象,指定要连接的服务器端口和名称。 3)Socket类的构造函数尝试将客户端连接到指定的服务器和端口号。如果建立了通信,则客户端现在具有能够与服务器通信的Socket对象。 4)在服务器端,accept()方法返回对连接到客户端套接字的服务器上的新套接字的引用。 5)建立连接之后,使用IO流进行通讯。

经验分享 程序员 微信小程序 职场和发展