网络编程

网络模型

OSI参考模型

7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层

TCP/IP参考模型

4 应用层
3 传输层
2 网络层
1 数据链路层


IP地址和端口号

1、ip用于标识网络中的一个通信实体,可以是主机、打印机、路由端口。基于IP协议传输的数据包必须使用IP地址标识,指定目的地址,每个数据包都包括源IP和目的IP。
2、一个通信实体可以有多个通信程序同时提供网络服务,此时通过端口来区分具体的通信程序。一个通信实体不能有两个通信程序使用同一个端口号。


TCP和UDP

1.基于连接和无连接
2.TCP要求系统资源较多,UDP较少
3.UDP程序结构简单
4.流模式(TCP)数据报模式(UDP)
5.TCP数据准确,UDP数据可能丢失
6.TCP有数据顺序,UDP不保证

UDP应用场景

1.面向数据报方式
2.网络数据大多为短消息
3.拥有大量Client
4.对数据安全要求小
5.网络负担重,但对相应速度要求高


Socket套接字

定义

将IP地址和端口组合在一起构成唯一能识别的标识符

原理
  • 通信两端都有Socket
  • 网络通信就是Socket间的通信
  • 数据在两个Socket间通过IO传输
通信模型
  • 服务端

建立服务端倾听socket
等待接受连接请求
接受请求后创建socket连接
InputStream
OutputStream
关闭socket及相关资源

  • 客户端

发送创建socket连接请求
OutputStream
InputStream
关闭socket及相关资源

Socket通信步骤

1.创建ServerSocket和Socket
2.打开连接到Socket的输入输出流
3.按照协议对Socket进行读写操作
4.关闭输入输出流、关闭Socket

ServerSocket服务器端

1.创建ServerSocket对象,绑定监听端口
2.通过accept()方法监听客户端请求
3.连接建立后,通过输入流读取客户端发送的请求信息
4.通过输出流向客户端发送相应信息
5.关闭相关资源

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 按照计算机网络的定义,通过一定...
    蛋炒饭_By阅读 5,049评论 0 10
  • 网络编程的概述 网络编程的实质就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。 一.OSI网络模型...
    思念挥霍阅读 2,985评论 0 0
  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 6,459评论 0 6
  • 也许是因为总能一眼看穿人内心的邪恶,既是有善良的一面也变得没有意义,所以自己好像对任何人都是以怀疑的眼光去凝视。
    馍馍头阅读 1,634评论 0 0
  • 感情这种事,真的是勉强不来,不爱再付出还是得不来爱。每日的一起生活,照顾,关心,都可以是虚假的。 你的“同事”太多...
    一只老刺猬阅读 1,292评论 0 0

友情链接更多精彩内容