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

本文共 2277 字,大约阅读时间需要 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/

    你可能感兴趣的文章
    Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>
    NodeJs入门知识
    查看>>
    nodejs包管理工具对比:npm、Yarn、cnpm、npx
    查看>>
    NodeJs单元测试之 API性能测试
    查看>>
    nodejs图片转换字节保存
    查看>>
    nodejs在Liunx上的部署生产方式-PM2
    查看>>
    nodejs基于art-template模板引擎生成
    查看>>
    nodejs字符与字节之间的转换
    查看>>
    NodeJs学习笔记001--npm换源
    查看>>
    NodeJs学习笔记002--npm常用命令详解
    查看>>
    nodejs学习笔记一——nodejs安装
    查看>>
    vue3+Element-plus icon图标无法显示的问题(已解决)
    查看>>
    NodeJS实现跨域的方法( 4种 )
    查看>>
    nodejs封装http请求
    查看>>
    nodejs常用组件
    查看>>
    nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
    查看>>
    Nodejs异步回调的处理方法总结
    查看>>
    NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
    查看>>