计算机网络编程


Java 对网络编程提供了支持,在网络编程中使用最多的就是 Socket 编程。两台计算机想要进行网络通信,必须满足一定的规范:

  1. 两台计算机需要有一个唯一的标识(ip 地址)。
    IP 地址 为实现网络中不同计算机之间的通讯,每台计算机必须都有一个唯一的标示符。
  2. 两台计算机需要有共同的而语言(协议)。
    协议:定义的一种规范,如 TCP 协议:是一种面向连接的可靠地给予字节流的传输层通信协议。
  3. 需要有相应的端口号。
    端口号:一台主机上运行多个应用程序,通过端口号可以辨别不同应用程序之间的通讯。端口号的范围 0~ 65535,其中 0~1023 位系统保留

其中 IP 地址和端口号组成了所谓的 Socket。
Socket 通常称为“套接字”,用于描述 ip 地址和端口,是一个通信的基础。实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。

应用程序通常通过 socket 向网络发出请求或者应答网络请求,socket 和 serversocket 类位于 Java.net 包中,在连接成功是,应用程序两端都会产生一个 socket 实例,操作这个实例,完成所需的会话。

  • C-S 客户端与服务端通信
服务端 - 客户端
创建监听服务 - -
- -
等待连接 ←建立连接← 连接服务器
- -
通过输入输出流进行通讯 →进行通讯→ 通过输入输出流进行通讯
-
关闭连接 - 关闭连接
  • B-S 浏览器与服务端通信

ServerSocket 类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。

服务器套接字的实际工作由 SocketImpl 类的实例执行。应用程序可以更改创建套接字实现的套接字工厂来配置它自身,从而创建适合本地防火墙的套接字。


## 客户端实现步骤 1. 创建服务端 ServerSocket 和客户端 Socket
new Socket(...);
2. 创建连接,获取输入/输出流。
socket.getInputStream();
socket.getOutputStream();
3. 按照协议进行读写操作 4. 关闭连接 `shutdown` 和 `close`

服务端实现通信步骤:

  1. 创建 ServerSocket 对象,绑定监听端口。
  2. 通过 accept()方法监听客户端请求
  3. 连接建立后,通过输入流读取客户端发送的请求信息
  4. 通过输入输出流向客户端发送响应信息
  5. 关闭连接

文章作者: CrazyBunQnQ
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 CrazyBunQnQ !
 上一篇
MySQL 数据库 MySQL 数据库
关系数据库关系:描述两个元素间的关联或对应关系使用关系模型吧数据库组织到二位数据表(Table)中产品: Oracle——主流大型商业 DB2 Sybase SQL Server MySQL——主流小型开源
2017-03-28
下一篇 
多线程并发 多线程并发
若想解决线程安全问题,需要将线程异步操作变成同步操作。Java 提供了一种内置的锁机制。synchronized 关键字就是 Java 中的同步锁。
2017-03-25
  目录