网络编程

本文聚焦网络编程,先介绍网络相关概念,包括计算机网络定义、分类,网络通信的IP(IPv4、IPv6)、端口等知识,还提及域名与DNS系统。接着阐述使用Socket实现网络应用程序,分析B/S和C/S架构优缺点,介绍Socket传输协议TCP和UDP及其适用场景。

网络编程

1.理解网络的相关概念

网络的概念

计算机网络:多个计算机之间通过专业的设备进行连接,形成一个网络。每一台计算都是一个网络节点,可以相互进行信息的传递。

网络的分类

局域网

城域网

广域网

互联网

无线网

网络的分类

网络通信-IP

在网络中,每台计算机都需要遵守IP协议产生一个唯一的上网标识。

IP(Internet Protocol):

IPV4:由4个8位二进制组成。10001101.10001101.10001101.10001101

不方便记忆,转换为十进制表示,范围内:0~255,192.168.3.124

IPV6:基本上可以满足全世界的地址需求。

查看本机的IP地址:ipconfig

测试网络联通:ping 要连接的IP地址

域名:www.baidu.com www.jd.com

DNS(Domain Name System)域名系统

它会在系统内准备一份域名和对应机器IP的映射表。

访问一个域名时:

1.查找浏览器内是否有缓冲映射。

2.查找本机的hosts文件

3.前往网络服务商提供的域名系统。

特殊的IP:127.0.0.1 == localhost 本机的回环地址 可以表示本机。

网络通信-端口

每个程序运行时都会占用一个端口,它是唯一的。端口范围:0-65535

我们如果想通过某个程序在网络内进行信息交流,必须要知道对方的IP和程序端口号。

IP:端口号

例如:127.0.0.1:8080

61.135.169.125:80(HTTP协议默认端口是80)

2.使用Socket实现网络应用程序

应用程序的架构

B/S(Browser浏览器<客户端>/Server服务器)

基于浏览器为客户端的网络应用程序。

典型:网站,小程序,,

优点:

1.无需下载安装,只要有浏览器就可以访问。【可以留住很多用户】

2.服务器更新 , 用户几乎无感知。刷新浏览器就可以得到最新的内容。

3.因为只需要有浏览器,所以在平台层面的兼容性可以忽略了。

缺点:

1.因为 所有的资源都在服务器上,所以在传输信息过程中受到带宽影响比较大。

2.在画面渲染和安全验证方面,受限严重。

3.因为资源请求是同步请求,所以用户体验很差。【由谷歌地图带起AJAX风之后,有所改善】

C/S(Client客户端/Server服务器)

基于自身定制的客户端的网络应用。

典型:QQ 微信 APP 端/手游

优点:

1,因为大多数普通资源都放在了客户端(胖客户端),所以在传输信息只需要加载一些重要信息即可,受到宽带影响较小。

2.在画面渲染和安全验证方面,比较强,实现也比较容易。

3.因为信息加载只需要加载必要信息,所以体验较好。

缺点:

1.必须 安装客户端才能使用。

2.如果服务器更新,必须要重新下载客户端。(省流/补丁更新)

3.不同的平台必须适配不同的版本。

Socket介绍

插座,通信链接点

传输协议

网络模型中传输层传输层的协议。TCU UDP

TCP:传输控制协议

三次握手 面向连接的传输协议 适用于传输重要的 对安全要求比较高的信息,下载文件,聊天,传输 资料。

为了维护连接可靠, 效率较低。

UDP:用户数据报协议

面向无连接的传输协议 适用于传输一些不太重要的 信息。视频聊天。看视频。

效率较高

基于TCP

ServerSocket

Socket

基于UDP

DatagramPacket

DatagramSacket

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值