java笔记__网络编程

网络编程

一、理解网络的相关概念

**网络的概念:**

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

**网络的分类:**

​ 局域网、城域网、广域网、互联网、无线网

**网络通信-IP(Internet Protocol):**
  • 在网络中,每台计算机都需要遵守IP协议产生一个唯一的上网标识。

  • IPV4:由4个8位二进制组成。 例:10001101.11100110.10001111.10100011

​ 二进制不好记忆,所以变转换为十进制的,范围是:0~255

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

  • **查看本机的IP地址:**ipconfig

​ 测试网络是否通畅:ping 目标IP地址

	DNS域名解析器:Domain Name System,域名系统

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

访问一个域名时:

  • 查找浏览器内是否有缓存映射

  • 查找本机的hosts文件

  • 前往网络服务商提供的域名系统

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

    网络通信-端口:

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

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

​ **网络服务器:**通常指在网路环境下,具有较高,技术算能力,能够提供用户服务功能的计算机

应用程序的架构:
**B/S:(Browser浏览器 / Server服务器)**浏览器应用程序
	基于浏览器为客户端的网络应用程序

	典型:网站,小程序...
优点:
	1、无需下载安装,只有有浏览器就可以访问。【可以留住很多用户】

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

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

缺点:
	1、因为所有的资源都在服务器中,所以在传输信息过程中受到带宽影响比较大
	2、在画面渲染和安全验证方法,受限严重。
	3、因为资源请求是同步请求,所以用户体验很差【由谷歌地图带起AJAX风,有所改善】

**C/S:(Client客户端 / Server服务器)**客户端应用程序

	基于自身定制的客户端的网络应用。
	典型:QQ、微信、APP端手游
优点:
	1、因为大多数资源都放在了客户端(胖客户端),所以在传输信息只需要加载一些重要信息即可,受到带宽影响较小
	2、在画面渲染和安全验证方面,比较强,实现也比较容易。
	3、因为信息加载只需要加载必要信息,所以体验较好
	
缺点:
	1、必须安装客户端才能使用。否则无法使用
	2、如果服务器更新,必须要重新下载客户端。(省流/补丁更新)
	3、不同的平台必须适配不同的版本。
传输协议:

​ 网络通信协议:为了在网络中不同的计算机之间进行通信而建立的规则、标准或约定的集合

网络模型中传输层的协议:TCP 和 UDP

​ TCP:传输控制协议

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

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

UDP:用户数据报协议

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

效率较高

1557238742812

二、使用Socket实现网络应用程序

Socket(中文翻译:插孔,插座)
Socket:(套接字)通过套接字(scoket)向网络发出请求

端口:

​ 物理意义——

	逻辑意义——

**※** 	通信链路的端点就被称为“套接字”(英文名Socket)

**※** 	是提供给应用程序的接口

Socket分类:

**※** 流式套接字(SOCK_STREAM)

	面向连接,可靠的数据传输服务	——>	TCP协议

**※** 数据报式套接字(SOCK_DGRAM)

	无连接服务	——>	UDP协议

**※** 原始式套接字(SOCK_RAM)
java.net包
Socket
ServerSocket
DatagramPacket
DatagramSocket
InetAddress
基于TCP协议的Socket编程

基于TCP协议的Socket网络通信

用来实现双向安全连接网络通信

Socket通信模型

进行网络通信时,Socket需要借助数据流来完成数据的传递工作
/** 
*使用accept()监听并接收ServerSocket的连接
*/
// 接收客户端请求
// 创建一个Socket对象
ServerSocket serverSocket = new ServerSocket(5000);
// 使用accept()监听并接收ServerSocket的连接
Socket socket = serverSocket.accept();

TCP与UCP的区别:

TCPUDP
是否连接面向连接面向非连接
传输可靠性可靠不可靠
速度
基于UDP协议的Socket编程
基于UDP协议的Socket编程步骤:
利用 DatagramPacket 对象封装数据包
利用 DatagramSocket 发送数据包
利用 DatagramSocket 接收数据包
利用 DatagramPacket 处理数据包
DatagramSocket的方法:
send();
receive();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在风能领域,准确预测风速对于风电场的运行与管理至关重要。Matlab作为一个强大的数学计算和数据分析平台,被广泛应用于风速预测模型的构建。本文将深入探讨基于四种风速——随机风、基本风、阵风和渐变风的组合风速预测技术。 我们来理解这四种风速类型: 1. **随机风**:随机风是指风速呈现出随机性的变化,通常由大气湍流引起。在建模中,通常通过统计方法如高斯分布或Weibull分布来模拟这种不确定性。 2. **基本风**:基本风速是指在无特定扰动条件下的平均风速,它是长期观测结果的平均值,通常用于结构设计和风能评估。 3. **阵风**:阵风是短时间内风速显著增强的现象,对建筑物和风力发电机造成的主要威胁之一。阵风的预测涉及到风的脉动特性分析。 4. **渐变风**:渐变风是指风速随时间和空间逐渐变化的过程,常见于风向转变或地形影响下的风场变化。 在Matlab中,利用这四种风速类型进行组合预测,可以提高预测的准确性。预测模型可能包括以下几个步骤: 1. **数据收集与预处理**:收集历史风速数据,包括随机风、基本风、阵风和渐变风的数据,进行异常值检测、缺失值填充以及数据标准化。 2. **特征工程**:提取风速变化的相关特征,如平均值、标准差、极值、频率分布等,这些特征可能对预测有重要影响。 3. **模型选择**:可以选择多种预测模型,如时间序列分析(ARIMA、状态空间模型等)、机器学习算法(线性回归、决策树、支持向量机、神经网络等)或深度学习模型(LSTM、GRU等)。 4. **模型训练**:利用历史数据训练选定的模型,调整模型参数以优化性能,例如通过交叉验证来避免过拟合。 5. **模型验证与评估**:使用独立的测试集验证模型预测效果,常见的评估指标有均方误差(MSE)、平均绝对误差(MAE)和决定系数(R²)。 6. **组合预测**:结合四种风速的不同模型预测结果,可以采用加权平均、集成学习(如bagging、boosting)等方式,以提升整体预测精度。 7. **实时更新与动态调整**:实际应用中,模型需要不断接收新的风速数据并进行在线更新,以适应风场环境的变化。 通过以上步骤,可以构建一个综合考虑各种风速特性的预测系统,这对于风电场的功率输出预测、风电设备的维护计划以及电网调度都具有重要价值。然而,需要注意的是,每个风场的地理环境、气候条件和设备状况都有所不同,因此模型的建立应根据实际情况进行定制和优
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值