博客
关于我
Java中的网络编程入门
阅读量:301 次
发布时间:2019-03-03

本文共 2253 字,大约阅读时间需要 7 分钟。

网络编程与TCP/IP协议

网络编程是指在一定协议下,实现两台计算机之间通信的程序设计。它是计算机网络通信的核心技术之一,广泛应用于Web开发、远程控制、云计算等领域。

软件结构

在网络编程中,软件可以分为客户端与服务器端两种结构:

  • C/S结构(Client/Server结构)

    客户端与服务器端分别运行,客户端向服务器端发送请求,服务器端处理请求并返回结果。

  • B/S结构(Browser/Server结构)

    浏览器作为客户端,向服务器端发送请求,服务器端处理后返回网页资源。

  • 网络通信协议

    网络通信需要遵循一定的规则,这些规则共同构成了网络通信协议。TCP/IP协议是最基础、最广泛的协议之一。

    TCP/IP协议

    TCP/IP协议分为两个部分:

    • TCP(传输控制协议):面向连接的协议,需要三次握手建立连接。
    • IP(互联网协议):用于将数据包从一台计算机发送到另一台计算机。

    TCP/IP协议是国际标准化的协议,几乎覆盖了互联网的所有通信需求。

    网络通信协议的分类

    网络通信协议可根据不同的需求分类。以下是两种常见协议的特点:

  • UDP(用户数据报协议)

    • 无需确认接收端是否存在,不需要接收端反馈。
    • 数据报的大小限制在64KB以内。
    • 适用于对延迟敏感的场景,如音视频传输。
  • TCP(传输控制协议)

    • 面向连接,必须经过三次握手建立连接。
    • 保证数据可靠传输。
    • 适用于对数据完整性要求较高的场景。
  • 网络编程的三要素

    网络编程的实现依赖于以下三要素:

  • 协议

    确定网络通信遵循的规则。

  • IP地址

    用于唯一标识网络中的计算机,IP地址可以是IPv4或IPv6形式。

  • 端口号

    端口号是逻辑上的门户,用于区分不同的应用程序和服务。

  • TCP通信程序

    TCP通信程序分为客户端与服务器端两种角色:

  • 客户端

    主动向服务器发起连接请求,等待服务器响应。

  • 服务器端

    等待客户端的连接请求,处理客户端的数据请求。

  • Java中的TCP通信实现

    在Java中,实现TCP通信程序可以使用以下类:

  • Socket类

    用于客户端连接服务器,创建Socket对象并指定IP地址和端口号。

  • ServerSocket类

    用于服务器端接收客户端连接,创建ServerSocket对象并指定端口号。

  • 服务器端实现

    public class TCPSever {    public static void main(String[] args) throws IOException {        ServerSocket serverSocket = new ServerSocket(8888);        Socket socket = serverSocket.accept();        InputStream inputStream = socket.getInputStream();        byte[] buffer = new byte[1024];        int len = inputStream.read(buffer);        System.out.println(new String(buffer, 0, len));        OutputStream outputStream = socket.getOutputStream();        outputStream.write("收到,谢谢".getBytes());        socket.close();        serverSocket.close();    }}

    客户端实现

    public class TCPClient {    public static void main(String[] args) throws IOException {        Socket socket = new Socket("127.0.0.1", 8888);        OutputStream outputStream = socket.getOutputStream();        outputStream.write("你好服务器".getBytes());        InputStream inputStream = socket.getInputStream();        byte[] buffer = new byte[1024];        int len = inputStream.read(buffer);        System.out.println(new String(buffer, 0, len));        socket.close();    }}

    Java中的Socket和ServerSocket

    Socket类

    • 构造方法:Socket(String host, int port)

      创建一个流套接字并连接到指定主机和端口。

    • 成员方法:

      • OutputStream getOutputStream()
      • InputStream getInputStream()
      • close()

    ServerSocket类

    • 构造方法:ServerSocket(int port)

      创建一个绑定到指定端口的服务器套接字。

    • 成员方法:

      • Socket accept()
      • close()

    通过以上实现,可以轻松构建TCP通信程序,满足不同的网络需求。

    转载地址:http://fxhl.baihongyu.com/

    你可能感兴趣的文章
    Prometheus 安装部署实战
    查看>>
    prometheus 持久化存储方案
    查看>>
    Prometheus 监控系统企业级实战
    查看>>
    Prometheus 监控系统简介
    查看>>
    Prometheus 配置详解
    查看>>
    Prometheus 采集器使用详解
    查看>>
    Prometheus 黑盒监控实战
    查看>>
    prometheus+alertmanager+grafana监控部署教程
    查看>>
    Prometheus+Grafana构建智能化Kubernetes监控系统实战
    查看>>
    Prometheus+SpringBoot应用监控全过程详解
    查看>>
    Prometheus+SpringBoot应用监控全过程详解
    查看>>
    prometheus安装
    查看>>
    Prometheus实战教程:监控Kafka消息
    查看>>
    Prometheus实战教程:监控mysql数据库
    查看>>
    Prometheus实战教程:监控Nginx状态
    查看>>
    prometheus常用exporter下载地址大全
    查看>>
    Prometheus快速搭建与监控Linux系统实战
    查看>>
    prometheus报警与恢复告警的格式
    查看>>
    Pytorch中安装 torch_geometric 详细图文操作(全)
    查看>>
    prometheus监控docker容器实战
    查看>>