Java Socket与TCP/IP协议栈

本文探讨了TCP连接的三次握手和四次挥手过程,解释了为何需要三次握手以确保连接可靠性。在Java中,TCP通信通过Socket类实现,当服务器突然关闭时可能出现TCP半关闭(Half-Close)现象,解决办法包括及时关闭套接字、设置心跳包机制和实现JVM关闭钩子。
摘要由CSDN通过智能技术生成

为什么TCP连接需要三次握手与四次挥手?

一、OSI 七层模型与TCP/IP四层模型

很多同学知道在大学课程中,我们学习的《计算机网络》一书采用的是OSI七层网络模型(OSI Model),但是OSI 七层模型是一种抽象模型,在操作系统实际实现中,采用的是TCP/IP四层网络模型,四层模型将七层模型合并为了应用层(Application Layer)、传输(Transport Layer)、网络层(Internet Layer)、链路层(Link Layer),使得网络系统在具体实现中更加简化,OSI七层网络模型与TCP/IP四层网络模型以及协议对应关系如下表所示。在计算机系统中,分层是一种很重要的编程思想,分层思想将系统的功能与责任进行了层次化划分,基本上所有系统的架构设计,都是按照层次架构作为基本架构来设计的。在计算机网络中,相同层次具有相同的协议处理方式,下层协议上层提供服务,上层协议的行为控制着下层的工作状态,层层之间责任单一,目的明确。
在这里插入图片描述

二 、Java对于TCP/IP协议的实现

在网络程序开发中,操作系统都为我们提供了全面 方便的应用层网络操作类与接口,使得程序员在使用过程中无需考虑协议栈的细节,而专心于数据的传输处理过程中。当然,

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值