(一)socket编程学习——先导

本科阶段网络通信方面的知识学习的太少,导师有指点一些方向去提前学习通信方面知识,苦于离开了学校没有图书馆的庇护,网上查找的资料都很散乱,在B站上找了一些关于socket网络编程的视频,结合网上的资料,通过csdn记录自己的学习笔记

Socket网络编程

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

  • 简单来说是IP地址与端口的结合协议
  • 一种地址与端口的结合描述协议
  • TCP/IP协议对相关API的总称;是网络Api的集合实现

socket所处的位置:
在这里插入图片描述
socket的工作原理:
在这里插入图片描述先从服务器端说起。服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。

参考:https://www.cnblogs.com/wangcq/p/3520400.html

Socket的作用与组成

  • 在网络传输中用于唯一标示两个端点之间对链接
  • 端点:包括(IP+Port)
  • 4个要素:客户端地址、客户端端口、服务器地址、服务器端口

网络编程概念

  • 网络编程从大方面说就是对信息的发送到接收
  • 通过操作相应Api调度计算机硬件资源,并利用传输管道(网线)进行数据交换过程
  • 更为具体对涉及:网络模型、套接字、数据包

1.1、7层网络模型-OSI

参考:OSI七层模型与TCP/IP五层模型 - SevenFormer - 博客园 https://www.cnblogs.com/qishui/p/5428938.html

  • 基础层:物理层、数据链路层、网络层
  • 传输层:TCP-UDP协议层、Socket
  • 高级层:会话层、表示层、应用层
    在这里插入图片描述
    网络模型-对应关系
    在这里插入图片描述

1.2、Socket编程之TCP、UDP

  • TCP是面向连接的通信协议

  • 通过三次握手建立连接,通讯完成时要拆除连接

  • 由于TCP是面向连接的,所以只能用于端到端对通讯

  • UDP是面向无连接的通信协议

  • UDP数据包括目的端口号和源端口号信息

  • 由于通讯不需要连接,所以可实现官博发送,不局限于端到端

TCP/IP协议中,两个进程间通信对主要模式为:CS模型
主要目的是协同网络中的计算机资源、服务模式、进程间数据共享
常见:FTP、SMTP、HTTP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值