TCP网络编程之Scoket和ServerScoket的使用

175 阅读2分钟

前言: 这次主题为TCP网络编程,我将通过具体的步骤分解,及流程的注意事项讲解如何使用Scoket和ServerScoket来实现客户端和服务端的网络通信

一、Socket是什么?

Socket,简单来说就是网络通信中传输信息的端口,通过这个端口我们可以访问另一台主机的应用程序,可以实现聊天,下载软件等功能.但它的功能远不止这些,可以通过应用程序的扩展,实现各种各样的功能.

二、实现步骤 1.服务端

第一部分:接收客户端消息

(1)创建ServerSocket对象 也就是创建服务器,这个服务器可供客户端访问. 创建服务器对象时自定义一个端口号,这个端口号用于客户端访问的地址

(2).调用ServerSocket的accept()方法 调用该方法可以在服务器开启后等待客户端的访问,相当于在这里卡住了,直到有客户端访问才会继续向下执行,他返回的是一个客户端对象

(3)调用Socket的getInputStream()方法 调用该方法可以返回一个字节输入流对象,通过该对象我们就可以拿到客户端发送的数据了,至于InputStream获取数据方法在以前内容中写过,不再赘述;

第二部分:向客户端发送数据 第(1),(2)步和获取客户端数据的1,2步骤相同,

(3)调用Socket的getOutputStream()方法 调用该方法即可获取字节输出流对象并对客户端发送消息了

注意:整个过程使用try…catch抓取异常,并添加finally代码块关闭流,关闭流遵循先开后关原则

2.客户端

第一部分:向服务端发送数据

(1)定义Socket对象 定义这个对象即创建客户端,需指定服务端的主机地址和端口号(即应用程序的端口号)

(2)调用getOutputStream()方法 和服务端一样,调用该方法可以获取InputStream对象,使用write()方法向服务端发送数据

第二部分:接受服务端数据 过程十分简单,直接调用getInputStream()方法获取字节输入流对象,打印服务端发送的数据

总结 以上就是一个简单的Socket网络通信,需特别提醒的是,这种方法适合在局域网下互相传输数据,连接网络IP地址及端口号即可.下一篇将继续讲Socket网络通信的进阶内容.

希望大家点亮手中的小星星,点点赞关注博主!谢谢大家…