一、Socket通信的基本原理
首先socket 通信是基于TCP/IP 网络层上的一种传送方式。socket是基于应用服务与TCP/IP通信之间的一个抽象,他将TCP/IP协议里面复杂的通信逻辑进行分装,对用户来说,只要通过一组简单的API就可以实现网络的连接。借用网络上一组socket通信图给大家进行详细讲解:
首先,服务端初始化ServerSocket,然后对指定的端口进行绑定,接着对端口及进行监听,通过调用accept方法阻塞,此时,如果客户端有一个socket连接到服务端,那么服务端通过监听和accept方法可以与客户端进行连接。
二、Java Socket API的使用
(1)建立一个服务器ServerSocket,并同时定义好ServerSocket的监听端口;
(2)ServerSocket 调用accept()方法,使之处于阻塞。
(3)创建一个客户机Socket,并设置好服务器的IP和端口。
(4)客户机发出连接请求,建立连接。
(5)分别取得服务器和客户端ServerSocket 和Socket的InputStream和OutputStream.
(6) 利用Socket和ServerSocket进行数据通信。
三、聊天程序设计
本次实验目标是完成一个类似聊天室的功能,客户端通过连接到服务端,将信息发给服务端,服务端再广播