java套接字通信_Java网络编程之使用套接字(Socket)进行通信

一、套接字(Scoket)的引入

Java支持基于流的通信和基于包的通信。基于流的通信使用传输控制协议(TCP)进行数据传输,而基于包的通信使用用户数据报协议(UDP)。因为TCP协议能够发现丢失的传输信息并重新发送,所以传输过程是无损的和可靠的。相对而言,UDP协议不能保证传输没有丢失。因此,大多数Java程序设计采用基于流的通信。

套接字可以使得程序很方便地访问TCP/IP,为了能够方便地开发网络应用,Java API提供了用于创建套接字的类来进行程序的网络通信。套接字是两台主机之间逻辑连接的端点,可以用来接收和发送数据。Java对于套接字通信的处理非常类似于对输入输出操作的处理,因此程序对套接字读写就像对文件读写一样容易。

网络程序设计通常设计一个服务器端和一个或多个客户端。客户端向服务器端发送请求,而服务器端响应请求。客户端从尝试建立与服务器的连接开始,服务器可能接受或者拒绝这个连接。一旦建立连接,客户端和服务器端就可以通过套接字进行通信。

二、服务器套接字

要创建一个服务器,需要创建一个服务器套接字(Server Socket),并把它附加到一个端口上,服务器从这个端口监听连接。端口套接字上的TCP服务。端口号的范围是从0到65536,但是0到1024是系统保留的端口号。比如,电子邮件服务器运行在端口25上,web服务器通常运行在端口80上。

可以选择任意一个当前没有被其他进程使用的端口。使用下面的语句创建一个服务器套接字,参数8000表示服务器端使用的接口:ServerSocket ss = new ServerSocket(8000);

三、客户端套接字

创建服务器套接字以后,服务器可以通过使用下面的语句监听连接:Socket socket &#

你可能感兴趣的:(java套接字通信)