网络编程基本详情
2021/5/1 22:26:57
本文主要是介绍网络编程基本详情,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
网络编程
概述
在网络通信协议下,不同计算机上运行的程序,可以进行数据传输
三要素
Ip地址
设备在网络中的地址是唯一标识
常用命令
ipconfig 常看本机IP地址
ping 检查网络是否连通
127.0.0.1 :表示本机IP,一般用来测试用的
端口
应用程序在设备中唯一的标识; 一个端口只能被一个应用程序使用
协议
数据在网络中传输的规则,常见的协议有UDP和TCP协议
UDP :不用连接;速度快,不安全,易丢失数字据
三种通信 :单播,组播,广播
TCP : 需要连接;速度慢,安全
InterAddress
作用:表示此类的IP地址
InterAddress.getByName:确定主机名,也可以是IP地址
getHostName : 获取主机名
getHostAddress : 返回文本显示中的IP地址,以字符串形式
TCP通讯原理
是一个可靠的网络协议,在通讯两端建立一个Socke对象
TCP
客户端
1.创建Socke地址,端口;
2.写入字符(getOutPutStream)后面必须接.getBytes方法
3.释放
服务端
1.创建ServerSocke,后面接端口号
2.阻塞:客户端不运行,服务端不接受。调用accept
3.读入,getInputStream
4.循环读,!=-1
5.释放
三次握手
1.就是客户端向服务器发送一个连接请求,等待它确定;
2. 服务器收到了,给了它一个回应
3. 两边确定连接,连接成功
四次挥手
前提:两边是正在相互连接状态
1.就是客户端向服务器发送一个取消连接请求,等待它确定;
2. 服务器收到了,给了它一个回应
3. 服务器向客户端发出确认取消信息
4.客户端确定,连接取消
服务器优化
弊端
1:一次只能接受一次
2 :第二次上传的时候会把第一次文件给覆盖掉
3 :使用循环无法跟多个客户端进行通讯
4 :使用多线程虽然可以让服务器处理多个客户端请求。但是资源消耗太大
优化
1:直接死循环
2 :UUID.randomUUID方法生成随机的文件名
3 :开启多线程(比较麻烦)
4 :加入线程池
这篇关于网络编程基本详情的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)