网络应用层编程入门

网络应用层编程入门

文章目录

一、操作位置

二、通信路径

1.单工

2.半双工

3.全双工

三、丢包现象

四、协议类型

1.UDP

1.1单位

1.2存储

1.3操作者

1.4不可靠

1.4.1信号干扰时

1.4.2转接拥塞时

2.TCP

2.1单位

2.2存储

2.3操作者

2.4可靠

2.4.1信号干扰时

2.4.2转接拥塞时

五、服务接口

1.Socket文件

1.1DatagramPacket

1.2DatagramSocket

2.Socket API

2.1DatagramSocket API

2.1.1搭起房间

2.1.1.1服务器

2.1.1.2客户端

2.1.2接收包裹

2.1.3发送包裹

2.2DatagramPacket API

2.2.1制造包裹

2.2.2提取包裹

2.2.2.1应用层数据包

2.2.2.2应用层数据包的字节长度

2.2.2.3源IP

2.2.2.4目的IP

2.2.2.5源端口

2.2.2.6目的端口

2.2.2.7目的IP+目的端口


一、操作位置

写的代码100%都是应用层,网络操作并不是 跟随数据包随层部署执行的,而是始终站全局 能跃层部署执行


二、通信路径

1.单工

一条单向固定通道,永远只能某向通信


2.半双工

一条双向互通通道,一时间只能 在进行一向通信


3.全双工

两条互逆的单向固定通道,可以同时进行双向通信


三、丢包现象

物理信号干扰篡改设备转发上限或接收方处理不过来的数据转接拥塞丢弃 造成数据混乱 就是丢包


四、协议类型

1.UDP

进行一DatagramPacket面多的通信

1.1单位

面向数据包Packet单位


1.2存储

四元组:源+目的IP,源+目的端口号 存储在DatagramPacket对象里面


1.3操作者

DatagramPacket操作它包对象里面存储的通信标识


1.4不可靠

1.4.1信号干扰时

UDP头部的校验和计算发现丢包后 结束丢弃数据包


1.4.2转接拥塞时

UDP无视数据转接时的拥塞状态 始终以恒定速率发包不管丢弃


2.TCP

进行一Socket向一的通信

2.1单位

面向字节流Stream单位


2.2存储

五元组:源+目的IP,源+目的端口号,协议号序列号对方接收窗口大小 存储在内核内存中的TCB结构体里面


2.3操作者

Socket存的文件描述符fd 交由内核 操作对应TCB里面存储的通信标识


2.4可靠

2.4.1信号干扰时

TCP头部的校验和计算发现丢包后 接收方丢弃数据包不发回复ACK 直到发送方等待超时后重发新包


2.4.2转接拥塞时

TCP会缩小发送窗口降低发送速率 以减少丢弃


五、服务接口

网络协议栈中,下层都会为上层提供服务接口

1.Socket文件

操作系统传输层及以下层的硬件 抽象成Socket文件传输层Socket文件 交应用层,给针对指向

1.1DatagramPacket

DatagramPacket是网卡接手压缩五层网络数据的快递包裹,里面填写有:

源IP本机站点地址
目的IP对机站点地址
源端口本机存储单类货物间的入门号
目的端口对机存储单类货物间的入门号

1.2DatagramSocket

DatagramSocket是运输货物系统,在构造时搭起 在源端口号的本机货物房间


2.Socket API

操作系统传输层及以下层的内核操作 封装成Socket API传输层Socket API交应用层,给指挥执行

应用层代码调用Socket API时会触发程序中断,执行权限从应用层的用户态 转变成操作系统的内核态执行传输层及以下层的内核操作

2.1DatagramSocket API

2.1.1搭起房间2.1.1.1服务器

能看见自己主机端口分布服务器 适合 自定义选择端口号搭起,在指定源端口搭起本机货物房间开启运输货物系统2.1.1.2客户端

未探明用户主机端口分布客户端 适合 由操作系统随机分配空闲端口号搭起,在随机空闲源端口搭起本机货物房间开启运输货物系统

2.1.2接收包裹

运输系统接收二进制数据 覆进网卡数据包接收为则进入阻塞等待

2.1.3发送包裹

运输系统发送网卡数据包里的二进制数据

2.2DatagramPacket API

2.2.1制造包裹

构造五层压缩的网卡数据包,指定 字节数组起始+长度部分为应用层数据包目的IP目的端口号

2.2.2提取包裹2.2.2.1应用层数据包

网卡数据包获取里面的 字节数组形式应用层数据包2.2.2.2应用层数据包的字节长度

网卡数据包获取里面的 字节数组形式的应用层数据包的字节长度2.2.2.3源IP

网卡数据包获取里面的 源IP2.2.2.4目的IP

网卡数据包获取里面的 目的IP2.2.2.5源端口

网卡数据包获取里面的 源端口2.2.2.6目的端口

网卡数据包获取里面的 目的端口2.2.2.7目的IP+目的端口

网卡数据包获取里面的 目的IP+目的端口

转化

1.String->InetAddress


将String字符串转为InetAddress IP地址

2.InetAddress->String

将InetAddress IP地址转为String字符串

Read more

AI 基建:我拿到邀请码了,evomap 初体验,说说感受!——最后面有我本地节点上传的执行全指引。

AI 基建:我拿到邀请码了,evomap 初体验,说说感受!——最后面有我本地节点上传的执行全指引。

task: 我拿到邀请码了,evomap 初体验,说说感受!——最后面有我本地节点上传的执行全指引。 一天在 evomap 赚了几千积分,详细看我后续文章! 背景 昨天吃了口热饭,抢到了邀请码。并且我本地已经构建了evomap 的全套,今天就想简单看看具体有哪些功能! 航海日志-实操 “一个 Agent 学会,百万 Agent 继承。”从字面意思理解,应该有以下几种方向: 1、我的 agent,可以流动给别人。 2、我的 agent,可以自己迭代。 3、我的 agent,可以被另外一个 agent 学习。 4、我的 agent,可以从 A 环境无损迁移到 B 环境。 ...... 按照首页的指引,我应该是完成了接入我本地。 接入你的

By Ne0inhk
被问爆的Agent实战:从0到1搭建可落地AI智能体

被问爆的Agent实战:从0到1搭建可落地AI智能体

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 文章目录: * 【前言】 * 一、先搞懂:2026年爆火的AI Agent,到底是什么? * 1.1 Agent的核心定义 * 1.2 Agent的4大核心能力 * 1.3 2026年Agent的3个热门落地场景 * 二、框架选型:2026年6大主流Agent框架,新手该怎么选? * 三、实战环节:从0到1搭建可落地的“邮件处理Agent”(全程代码+步骤) * 3.1 实战准备:环境搭建(10分钟搞定) * 3.1.1 安装Python环境 * 3.1.2 创建虚拟环境(避免依赖冲突) * 3.

By Ne0inhk
AI能赚钱?别被割韭菜了!深度拆解:为什么你学了100个AI工具却赚不到1分钱

AI能赚钱?别被割韭菜了!深度拆解:为什么你学了100个AI工具却赚不到1分钱

🌟 核心真相:AI是放大器,不是印钞机。没有商业认知的AI技能,就像给不会开车的人发了一辆法拉利——只会原地打转,甚至翻车。 目录 🌪️ 引言:那个学了30个AI工具却亏了5万的朋友 🎤 一、"AI能赚钱 ≠ 人人能赚钱" 🔍 金句实录: 🤯 二、残酷真相:AI工具≠赚钱能力 🔍 你是不是也这样? 💡 关键洞察:工具只是"术",商业才是"道" 🧭 三、破局三板斧:普通人也能启动的AI变现逻辑 🎯 第一板斧:标签聚焦——"别人想起你时,第一个词是什么?" ✅ 正确姿势(调研数据): 🌱 第二板斧:70分哲学——"服务30分的客户,你就是专家" 🌰 真实案例: ✅ 三步启动法(新手友好)

By Ne0inhk
python脚本批量导出ZEEKLOG里的文章

python脚本批量导出ZEEKLOG里的文章

一 导出全部已发布文章 首先,需要在本地安装3.8版本以上的python,安装python步骤 检查是否安装成功 pip3 --version 安装后执行 pip3 install requests beautifulsoup4 markdownify 新建脚本,脚本名字随意,这里是:ZEEKLOG_downloader.py 脚本内容如下: # -*- coding: utf-8 -*-import os import re import requests import time from bs4 import BeautifulSoup from markdownify import markdownify as md from urllib.parse import urlparse,

By Ne0inhk