网络编程内容

网络编程内容详解 网络编程 1、概念: 地球村:表示现代科技的迅速发展,缩小了地球上的空间距离。 TCP:需要对方确认;建立连接 UDP:发送就可以,不用管对方 1.计算机网络: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通通信协议的管理和协助下,实现资源共享和信息传递的计算机系统。 2.网络编程的目的: 传播交流信息,数据交换。 3.想达到这个效果需要什么 如何准确的定位网络上的一台主机? 192.168.1.1:端口,定位到这 阅读详情

目录标题

网络编程

在这里插入图片描述

计算机网络

在这里插入图片描述

网络编程的目的

在这里插入图片描述

网络编程的要素

如何实现网络的通信

规则:网络通信的协议

在这里插入图片描述

TCP/IP参考模型

在这里插入图片描述

总结

一 网络编程中两个主要的问题
1 如何准确的定位到网络上的一台或者多台主机
域名:www.baidu.com
IP 14.215.177.38(百度的IP)
2 找到主机之后如何进行通信




二 网络编程中的要素
1 IP和端口号(Java中IP类和端口类)
2 网络通信协议(Java中Udp类 tcp类)





IP

ip地址:代码 InetAddress




一 作用 唯一定位一台网络上的计算机(相当于人的身份证)
二 127.0.0.1:本机localhost




IP地址的分类



一 IP地址的分类(IPv4/IPv6)
IPv4是:127.0.0.1 四个字节组成 0-255 42亿 ;三十亿在北美 亚洲四亿 2011年就用尽;
IPv6:fe80::15f5:cab4:207d:1e00%9 128位的 八个无符号整数组成




公网(互联网)-私网(局域网)



ABCD类地址

在这里插入图片描述

域名 :记忆IP问题



IP:www.vip.com www.baidu.com

在这里插入图片描述



练习测试IP(类 InetAddress)

在这里插入图片描述

端口

在这里插入图片描述

练习InetSocketAddress类

在这里插入图片描述

通信协议



例子:协议 就好比我们现在说的普通话 都必须要说普通话 否则无法交流
而网络通信协议会比较多一点
例:速率 传输速率 代码结构 传输控制
问题 非常的复杂
所以要大事化小




TCP/IP协议簇:实际上是一组协议



重要:
1 TCP 用户传输协议
2 UDP:用户数据报协议
出名的协议:
4 TCP 用户传输协议
5 IP:网络互连协议

在这里插入图片描述

TCP UDP 对比

TCP:打电话
1.连接 稳定
2.三次握手 四次挥手



UDP: 发短信
1 不连接 不稳定
2.客户端 服务端 没有明确的界限



在这里插入图片描述

TCP

客户端
1 连接服务器Socket
2 发送消息
服务器
1.建立服务的端口 ServerSocket
2. 等待用户的连接 accept
3. 接受用户的消息(客户端)


练习

在这里插入图片描述

客户端和服务端

在这里插入图片描述

管道流解释

在这里插入图片描述

什么是文件上传


复制一个图片到 这个包下面
然后在进行 文件上传

练习


客户端和服务端


运行代码 先启动服务端
在启动客户端


在这里插入图片描述

什么是Tomcat


在上面的操作中
我们已经创建出
自定义的 客户端和 自定义的 服务端


但是这里有
Tomcat服务器 S
客户端 浏览器 B
Java后台开发 用的是 Tomcat服务器 S
重点 : 同一个协议下 端口号不能重复


例如:
http://locallhost:8080/
http为协议
local为IP
8080为端口


在这里插入图片描述

什么是UDP


TCP类似于打电话 需要连接
而 UDP类似于发短信
发短信: 不用连接 但是需要知道对方的地址


发送消息
客户端
因为不需要连接 所以不用建立服务端也不会报错
所以只发送出去了消息 没有消息接受的代码
所以相对于 TCP 如果直接运行 客户端 会直接报错
而 UDP不会


练习


接受消息
服务端

在这里插入图片描述

UDP聊天实现

如果想实现多人一起聊天 就需要利用多线程

练习一

发送者和接收者

在这里插入图片描述

练习二(重点!!!)

在线咨询 :两个人都可以是发送方 也可以是接收方
先利用多线程创建类


重点!!!
实现 多线程的 学生类 和老师类


在这里插入图片描述

方法二

可以利用cmd 进行与IDE 进行交流交互
1 找到 代码.class的文件夹下 打开cmd
2 在cmd中找到代码运行
3 然后在IDE中 启动老师类 在cmd中启动学生类



out文件下存放的是 .class代码
可以搜索:如何开启window端口


在这里插入图片描述

URL:下载网络资源

URL就是一个网络类 它代表的是一个地址

在这里插入图片描述

在这里插入图片描述

练习一

下载一个文本
1 打开tomcat
2 在本地电脑 tomcat 的 webapps文件夹下
3 在webapps文件夹下 创建一个自己的文件下 并创建一个文本 文本内容随意(利用NOtepadd++ 进行编辑文本内容)
4 编写代码 运行代码后 发现文件下载下来 证明代码成功

在这里插入图片描述

练习二

比如下载网络歌曲
网易云上面的
前提 这个不用保证tomcat 打开
跟上面的不同

在这里插入图片描述

C# 网络编程--基础核心内容 在现今软件开发中,网络编程是非常重要的一部分,本文简要介绍下网络编程的概念和实践。 C#网络编程的主要内容包括以下几个方面‌:Socket 编程、异步编程、TCP 通信、UDP 通信、HTTP 请求、多线程与并发、错误异常处理、安全通信等等,方方面面的知识体系 阅读详情

相关推荐

【第83题】JAVA高级技术-网络编程2(解析网页中的内容)

网络编程

小虚竹的专栏 3万+

Linux C网络编程内容总结

总的来说 Linux C 网络编程是一块比较难的内容,且有一些枯燥, 基础内容涉及Linux基础,Linux系统编程和Linux网络编程三部分内容。 Linux基础包括最简单的基本操作,vim的使用,值得注意的是,在VS2017以上版本,可以直接用VS跨平台编写Linux程序,这样可以提高开发效率。 Linux系统编程主要涉及一些Linux系统调用API的使用,特别是进程和线程,进程间通信...

wwxy1995的博客 389

43、列出文件夹内容:Java网络编程中的实践指南

本文详细介绍了在Java网络编程中列出文件夹内容的各种方法和技术,涵盖本地文件系统和远程服务器的场景。文章内容包括使用java.io.File和java.nio.file包进行文件夹遍历,通过FTP和HTTP协议访问远程目录,以及如何处理权限、路径和网络连接等常见问题。同时,还探讨了性能优化技巧和高级应用场景,如异步处理、文件查询和递归遍历多层目录结构,旨在帮助开发者编写高效且健壮的程序。

n7o8p的博客 68

python网络编程内容_图解Python网络编程

PythonPython开发Python语言图解Python网络编程 本篇索引(1)基本原理本篇指的网络编程,仅仅是指如何在两台或多台计算机之间,通过网络收发数据包;而不涉及具体的应用层功能(如Web服务器、 邮件收发、网络爬虫等等),那些属于应用编程的范畴,需要了解的可参看下一篇 Internet 应用编程。关于使用Python进行网络通信编程,简单的例子网络上一搜一大把,...

weixin_39983384的博客 206

43、Java网络编程:URL内容读取与非阻塞套接字编程

本文深入讲解了Java中的网络编程技术,重点涵盖URL内容读取和非阻塞套接字编程。通过实例介绍了如何使用URL类和URLConnection类读写URL数据,处理头部信息和内容;同时结合快餐店模型和代码示例,详细展示了非阻塞套接字编程的实现原理与流程,包括Selector、SocketChannel和SelectionKey的使用。最后还总结了非阻塞编程的优势、挑战及性能优化方法,帮助开发者构建高效稳定的网络应用。

mmm90的博客 124

【为K8s的coredns配置上游DNS服务器】

为K8s的coredns配置上游DNS服务器一、背景描述二、如何修改coredns达到目的三、修改coredns 解析指定域名走指定dns①、get coredns configmap②、修改coredns configmap③、查询现有coredns pod并逐个重启④、验证解析是否正确 一、背景描述 有一个项目需要部署到客户内网,并通过nat映射实现外网访问! 项目中有多个服务之间调用是走的外网域名,项目采用k8s集群容器部署,客户的网络情况导致服务之间通过外网域名互调时总是 connection ti

那个那个 6676

网络编程内容汇总

1.网络编程的两个主要问题: 1.如何准确定位目标主机(一台或多台) 2.定位后如何通信(采用怎样的通信协议) 2.网络编程的要素: 1.IP地址和端口号 2.网络通信协议 3.运用Java万物皆对象的思想,找到能实现以上问题的类和方法 net包下InetAddress类中 IP IP唯一定位一台网络上计算机 127.0.0.1 :本机localhost ip地址的分类 1.通过IP地址分类: ipv4/ipv6 ipv4: 例127.0.0.1 ,由4个字节组成,每个字节的长度是

QAQWO的博客 1766

【TM1640】STM32 TM1640芯片驱动程序

以下为.h文件: #ifndef __TM1640_H__ #define __TM1640_H__ #include "stm32f10x.h" #define ADDR_START1640 0XC0 #define DSP1640_DIS 0 #define DSP1640_ENB 1 /* 控制显示 ...

cxw312864660的博客 1万+

《TCP/IP网络编程》第25章 进阶内容

Windows和Linux系统编程(System Programming)《Windows核心编程》《UNIX环境高级编程》《TCP/IP协议族》《TCP/IP详解》

yxqq378287007的博客 396

微电网模型Matlab Simulink,风光储微电网,永磁风机并网仿真,光伏并网仿真,蓄电池仿真

通过探究风光储微电网、永磁风机并网仿真、光伏并网仿真、蓄电池仿真、柴油发电机以及光储微电网和风储微电网等方面的技术,我们可以更好地理解微电网的工作原理和优化方法,从而为微电网的发展做出更大的贡献。微电网模型Matlab Simulink,风光储微电网,永磁风机并网仿真,光伏并网仿真,蓄电池仿真,柴油发电机,光储微电网 风储微电网 Matlab仿真平台搭建的风光储微电网模型,风光柴储微电网,pwm控制,风力发电,光伏发电,微电网并网离网切换,并网孤岛切换,功能强大。永磁风机的并网仿真是一个非常重要的环节。

sjbextz的博客 400

SpringBoot+Maven打包实战:把项目变成SDK供其他团队调用

本文详细介绍了如何将SpringBoot项目改造并打包成可被其他项目依赖的SDK。通过调整Maven配置,剥离SpringBoot父依赖与启动类,并定制打包插件,最终生成标准的JAR依赖库,实现从“可执行应用”到“组件化SDK”的优雅转变,便于团队间功能复用。

assembly8low的博客 829

python网络编程内容_Python网络编程

Python内置封装了很多常见的网络协议的库,因此Python成为了一个强大的网络编程工具,这里是对Python的网络方面编程的一个简单描述。1.常用的网络设计模块在标准库中有很多网络设计相关的模块,除了那些明确处理网络事务的模块外,还有很多模块也是是和网络相关的,下面是几个常用的网络设计模块:1.1 socket模块socket模块是网络编程中的基础组件。socket主要的作用就是作为两个程序之...

weixin_39725594的博客 65

版图学习汇总十一(DRC、LVS注意事项)

esd。

weixin_56071389的博客 2263

java 网络编程实验_实验内容:实验9 网络编程

JAVA上机实验9实验名称: 网络编程实验目的:学会使用URL对象; 学会使用套接字读取服务器端的对象;掌握DatagramSocket类的使用。实验内容:1、创建一个URL对象,然后让URL对象返回输入流,通过该输入流读取URL所包含的资源文件。程序模版请按照模版要求,将【代码】替换为程序代码。ReadFile.javaimport java.awt.*;import java.awt.even...

weixin_34282558的博客 1211

告别踩坑!S32K3xx芯片上RTD-SDK的DFLASH与FEE模块配置全流程(基于S32DS)

本文详细解析了在NXP S32K3xx系列MCU上配置RTD-SDK的DFLASH与FEE模块的全流程,基于S32DS开发环境。从Cache配置、Mem_43_InFls模块设置到MemAcc模块的三种调用模式,提供了实战代码示例和常见问题排查表,帮助开发者高效完成存储管理配置,避免常见错误。

weixin_42653691的博客 269

本文将详细介绍如何在 Qt (C++) 应用程序中集成 osgEarth,加载三维数字地球,并在指定经纬度添加三维模型(如飞机、建筑等)。

OSG 与 Qt 的交互通常需要处理 OpenGL 上下文。osgEarth 3.x 提供了对 Qt 的较好支持,或者可以使用。在普通 OSG 程序中,你需要手动处理坐标系转换将经纬度转为笛卡尔坐标 (XYZ)。这是实现的关键,将 OSG 的渲染循环集成到 Qt 的事件循环中。第三方库,但在本教程中,我们将展示一种通过继承。,将 Qt 的输入事件转换为 OSG 理解的。事件,这是实现交互(旋转地球、缩放)的基础。来嵌入 OSG 视图的标准方法。在这里我们初始化地球并添加模型。节点简化了这一过程。

qq_45859163的博客 1046

网络编程内容整理

网络编程内容整理 转载于:https://www.cnblogs.com/Tang854416/p/9605407.html

weixin_30883311的博客 136

Valgrind 从入门到精通:内存调试和性能分析

Valgrind 提供了强大的 API,允许开发者编写自定义的检查工具。通过扩展 Valgrind,可以针对特定场景实现更精准的检测。

大模型大数据攻城狮的专栏 1218

《Unix网络编程 上》第一章内容总结

总的来说,在读完第一章、第四章和第二章部分后这本书给我的感觉就一个字:细。能够对我知道的和不知道的所有知识点全部一一讲述,因此个人感觉这本书适合掌握一定的相关知识但不够系统的人对unix网络方面进行知识串联;也适合急需某一方面比如第四章TCP传输的socket应用,但相关知识薄弱,可以将该书作为工具书籍来按照书上步骤先跑起来。 写该文章有两个目的:1.文章主要针对看书但又基础比较...

吉锋涛的博客 385

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java 网络编程内容

Java 网络编程:1、URL、URLConnection、Socket2、IP:Internet Protocol,用32位长度(4个字节)的二进制数据。3、IP地址分为五类A类 政府机构 1.0.0.1 --- 126.255.255.254B类 中等规模的公司 128.0.0.1 --- 191.255.255.254C类 ...

weixin_34113237的博客 75

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

网络编程面试相关内容

三次握手,四次挥手,网络编程相关内容

u014311114的博客 536

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java网络编程内容聚合

一、Java网络编程 Java 网络编程相关 java.net.DatagramSocket java.net.ServerSocke java.net.Socket java.net.HttpURLConnection java.net.URLConnection java.net.URLEncoder与java.net.URLDecoder java.net.InetAddress java...

书香水墨 249

Java高级特性与网络编程 - 第五周学习内容

本文系统讲解Java Map集合体系,涵盖HashMap、LinkedHashMap、TreeMap的实现原理和遍历方式,重点分析哈希冲突机制。深入探讨泛型编程,包括泛型类与方法的定义、类型擦除机制、通配符使用及泛型在继承中的体现。通过企业真题解析常见面试考点。详细介绍网络编程核心知识,包含TCP服务器/客户端编程、UDP数据报通信、多线程并发处理。总结常见错误如Map迭代器使用格式和泛型类型安全问题,提供网络通信实战案例。帮助开发者掌握集合框架高级应用、泛型编程技巧和网络通信技术,为分布式应用开发奠定基础

2503_93390114的博客 324

网络编程相关内容

网络编程

A56562379的博客 463
上一篇: 常用类和内部类总结(二)
下一篇: 集合{Collection集合 迭代器 ArrayList集合 LinkedList集合 HashMap集合 }(一)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值