就是我们发送一条数据给另一个主机的应用程序,其实有ip和端口就可以了,这里我们可以调用socket接口进行发送,不过这里发送的数据只能是字节形式,但是使用http的话,发送的是各种数据形式,到时候http协议会定义数据格式,并按照对应的格式解读数据。
socket可以使一个应用从网络中读取和写入数据,不同计算机上的两个应用可以通过连接发送和接受字节流,当发送消息时,你需要知道对方的ip和端口。
socket类表示一个客户端,即任何时候连接到一个远程服务器应用时构建所需的socket,然后用该socket类来发送和接收字节流。
ServerScoket类表示一个服务器端是等待客户端的请求,一旦获得一个连接请求,就创建一个Socket示例来与客户端进行通信。然后ServerScoket类是要随时待命的,就是监听某个端口,一有socket来连接这个端口了,就创建一个Socket示例来与客户端进行通信了。
ServerSocket类:
socket:
其实客户端向服务器发送请求步奏可如下:
1、创建一个socket实例
2、利用i/o流与服务端进行通信
3、关闭socket
服务端接收客户端请求步奏:
1、创建一个ServerSocket实例,监听客户端发来的请求。
2、与客户端获取连接后,创建一个Socket实例,利用I/O流与客户端进行通信,完毕后关闭Socket。当然,服务器可以接收多个客户端的请求,所以如果服务器是一个一个顺序相应肯定会带来不好的体验,因此使用多线程来为多个客户端提供服务
上面有个客户端发送心跳包的,其实是为了检测服务端是否正常,比如你不测试服务端是否正常就直接发送数据过去,然后服务端肯定是没响应的呀所以我们发数据之前就先发个心跳包去测测服务端那边是否。