Java网络教程的基础简介说明
在Java中提供了一些网络API,
当我们使用这些API时,可以很容易的创建TCP/IP或UDP套接字,并实现网络通信,
在了解网络编程前,我们需了解一些网络的前置知识,如:
当通信结束后客户端关闭连接
客户端在一个已打开的连接可以发送很多个请求(当然也可只发送一个请求)
当然服务器也可以主动关闭连接
此时我们可以使用Java Socket类
socket类只需要被告知连接的IP地址和TCP端口
如果我们想打开一个监听服务,监听客户端连接的指定TCP端口,此时我们需要使用Java中的ServerSocket类
当客户端通过Socket连接服务器端的ServerSocket监听时,服务器端会指定这个连接的一个Socket 通过以上的操作,客户端同服务器端的连接,就变成了Socket同Socket之间的通信
使用UDP通信时,在客户端与服务器之间并没有建立连接的概念,
客户端发送到服务器的数据,服务器可能(也可能并没有)收到这些数据,而且客户端也并不知道这些数据是否被服务器成功接收
当服务器向客户端发送数据时也是如此
当我们使用这些API时,可以很容易的创建TCP/IP或UDP套接字,并实现网络通信,
在了解网络编程前,我们需了解一些网络的前置知识,如:
Java TCP网络基础
当客户端打开一个连接到服务器端的TCP/IP连接后,客户端同服务器之间就开始通信当通信结束后客户端关闭连接
客户端在一个已打开的连接可以发送很多个请求(当然也可只发送一个请求)
当然服务器也可以主动关闭连接
Java中Socket类和ServerSocket类
如果一个客户端需打开一个连接,并使用TCP/IP连接到服务器时此时我们可以使用Java Socket类
socket类只需要被告知连接的IP地址和TCP端口
如果我们想打开一个监听服务,监听客户端连接的指定TCP端口,此时我们需要使用Java中的ServerSocket类
当客户端通过Socket连接服务器端的ServerSocket监听时,服务器端会指定这个连接的一个Socket 通过以上的操作,客户端同服务器端的连接,就变成了Socket同Socket之间的通信
Java UDP网络基础
UDP工作方式同TCP相比稍微有些不同使用UDP通信时,在客户端与服务器之间并没有建立连接的概念,
客户端发送到服务器的数据,服务器可能(也可能并没有)收到这些数据,而且客户端也并不知道这些数据是否被服务器成功接收
当服务器向客户端发送数据时也是如此
由于是不可靠的数据传输,所以UDP比TCP少了很多的协议开销, 但是某些场景下,UDP的性能高于TCP
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。