最后更新:2022-02-10 08:48:26 手机定位技术交流文章

Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。
Java为客户端提供了Socket类,为服务器端提供了ServerSocket类
(1)创建客户端Socket对象与指定服务端连接
Socket(String host,int port)
(2)获取输出流,写数据
OutputStream getOutputStream()
(3)释放资源
void close()
| 方法名 | 说明 |
|---|---|
| Socket(InetAddress address,int port) | 创建流套接字并将其连接到指定IP指定端口号 |
| Socket(String host, int port) | 创建流套接字并将其连接到指定主机上的指定端口号 |
| 方法名 | 说明 |
|---|---|
| InputStream getInputStream() | 返回此套接字的输入流 |
| OutputStream getOutputStream() | 返回此套接字的输出流 |
(1)创建服务器端的Socket对象(ServerSocket)
ServerSocket(int port)
(2)监听客户端连接,返回一个Socket对象
Socket accept()
(3)获取输入流,读数据,并把数据显示在控制台
InputStream getInputStream()
| 方法名 | 说明 |
|---|---|
| ServletSocket(int port) | 创建绑定到指定端口的服务器套接字 |
| 方法名 | 说明 |
|---|---|
| Socket accept() | 监听要连接到此的套接字并接受它 |
发送端
接收端
accept方法是阻塞的,作用就是等待客户端连接
客户端创建对象并连接服务器,此时是通过三次握手协议,保证跟服务器之间的连接
针对客户端来讲,是往外写的,所以是输出流;针对服务器来讲,是往里读的,所以是输入流
read方法也是阻塞的
客户端在关流的时候,还多了一个往服务器写结束标记的动作
最后一步断开连接,通过四次挥手协议保证连接终止


本文由 在线网速测试 整理编辑,转载请注明出处。