网络编程

网络编程

ぃ、小莉子 提交于 2019-12-06 12:31:59
网络编程 软件开发架构 C/S架构:Client(客户端),Server(服务端) CS架构:建立在局域网的基础上,需要安装客户端才能使用    C:客户端,比如微信端,QQ端    S:服务端,比如服务器    优点 :      1.软件的使用稳定      2.节省网络资源    缺点 :      1.安装麻烦,用户体验差      2.软件的每次更新,用户都需要重新下载或更新版本 B/S架构:Browser(本质上是个客户端),Server(服务端)    BS架构:即浏览器和服务器的架构模式,比如手机端微信小程序,不需要下载客户端    B:浏览器,本质上也是一个客户端,比如百度中的淘宝、镶嵌在浏览器中    优点:      1.软件的使用方便      2.无需跟着软件的更新去下载    缺点 :      1.如果网络不稳定,软件的使用就不稳定 比较流行的还是B/S框架,用户体验高 网络编程的发展史    起源:都源自于军事    远程通信条件:物理连接介质(电话线,网线,网卡)    有公共的标准协议:OSI协议    统一机器语言:二进制 OSI协议 OSI七层协议:    物理层      基于电信号传输 011100101 二进制数据,将数据扔给数据链接层    数据链接层      以太网协议:      1.规定电信号的组成方式:获取真实数据 hand

网络编程

别来无恙 提交于 2019-12-06 12:26:55
网络编程 软件开发架构 C/S架构: ​ client:客户端 ​ server:服务端 ​ 比如:微信客户端,QQ客户端等。。。 优点:软件的使用很稳定,也很节省网络资源 缺点:安装麻烦,用户体验差,软件的每一次更新,用户都需要重新下载或更新版本 B/S架构: Browser(本质上也是一个客户端):浏览器 ​ Server:服务端 优点:软件的使用方便,无需跟着软件的更新去下载 缺点:如果网络不稳定,软件的使用就不稳定 相较而言:B/S架构,用户体验更好 客户端与服务端: 服务端:24小时不间断提供服务 ​ 客户端:客户想要找服务时,就去访问服务端 计算机与计算机之间的通信 语言时人与人之间沟通的介质,协议是计算机与计算机之间沟通的介质 网络编程 可以远程实时获取数据,实现远程通信 如何实现远程通信: 物理连接介质 电话有电话线 纯屏电脑:网线 笔记本电脑:网线,网卡 电脑与电脑通信: 互联网协议 让所有的厂商电脑都遵循这套协议,实现所有电脑之间无障碍通信 互联网协议(osi七层协议) OSI七层协议: 应用层 会话层 表示层 传输层 网络层 数据链路层 物理层 五层: 应用层 传输层 网络层 数据链路层 物理层 1.物理层 获取到对象计算机的电信号数据,无法获取到具体数据内容,将电信号数据扔给数据链路层 2.数据链路层 以太网协议 1.规定一套分组的方式: 电信号是一个数据包

网络编程理论

◇◆丶佛笑我妖孽 提交于 2019-12-06 12:24:26
网络编程(理论) 软件开发架构 C/S架构 ​ Client:客户端 ​ Sever:服务器 ​ 比如: 微信客户端、QQ客户端等…… 优点: ​ 软件使用稳定 ​ 节省网络资源 缺点: ​ 安装麻烦,用户体验差 ​ 软件的每一次更新,用户都需要重新下载或更新版本 B/S架构: ​ Browser:浏览器(本质上也是一个客户端) ​ Sever:服务器 ​ 比如:在浏览器上输入一个网址…… 优点: ​ 软件使用方便 ​ 无需跟着软件去更新下载 缺点: ​ 如果网络不稳定, 软件的使用就不稳定 PS:B/S架构比较流行,因为用户体验高 客户端与服务端 服务端:24小时不间断提供服务 客户端:只有客户需要的到时候,才回去访问服务端 计算机与计算机之间通信 ​ 语言是人与人之间沟通的介质 ​ 协议是计算机之间沟通的介质 网络编程 所有最新最牛的技术,都源自于军事: ​ 可以远程实时获取数据,实现远程通信 如何实现远程通信?------> 物理连接介质 ​ 电话 -----> 电话线 ​ 纯屏电脑(大头电脑) -----> 网线 ​ 笔记本电脑 -----> 网线,网卡 电脑之间的通信 ------> 互联网协议 ​ 让所有产商的电脑都遵循这套协议,实现所有电脑之间无障碍通信 ​ “互联网协议” 是计算机界中的英语 互联网协议(OSI七层协议) OSI七层协议: - 应用层 - 会话层 -

网络编程基础

百般思念 提交于 2019-12-06 12:24:00
目录 一、软件开发的架构 二、网络概念 三、互联网协议(OSI七层协议) 物理层 数据链路层 网络层 传输层 应用层 一、软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构~ 1.C/S架构 C/S即:Client与Server,中文意思:客户端与服务端架构,这种架构也是从用户层面(也可以是物理层面)来划分的 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。 优点:软件的使用稳定 ​ 节省网络资源 缺点:安装麻烦,用户体验差 ​ 软件的每一次更新,用户都需要重新下载或更新版本 2.B/S架构 B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的。 Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源) 优点:软件的使用方便 ​ 无需跟着软件更新去下载 缺点:如果网络不稳定,软件的使用就不稳定 趋势:B/S架构流行

网络编程

允我心安 提交于 2019-12-06 12:23:17
二、网络编程 1、软件开发架构 c/s架构: client:客户端 server:服务端 比如:微信客户端,QQ客户端 优点: -软件的使用稳定 -节省网络资源 缺点: -安装麻烦,用户体验 差 -软件的每一次更新,用户都需要程序下载或更新版本 b/s架构: browser(本质上也是一个客户端):浏览器 sever:服务端 比如:在浏览器上输入一个网址 优点: - 软件件的使用方便 - 无需跟着软件的更新去下载 缺点: - 如果我网络不稳定,软件的使用就不稳定 #现在比较流行:b/s架构,用户体验感高 客户端与服务端: 服务端:24小时不间断提供服务。(比如:惠州淡水区某一个美丽的场所是一个服务端,可以提供服务) 客户端:客户想要找服务时,就去访问服务端(比如:xxx去寻求心灵辅导,比如学习英文) 三 往后学习的脉络 - 学习网络编程,并发编程,数据库---> 可以开发一套c/s架构的软件 - 学习前端(html/css/js),web框架(Django)---> 可以开发一套 b/s架构的软件 四 计算机与计算机之间的通信 - 语言是人与人之间沟通的介质 - 协议是计算机与计算机之间沟通的介质 五 网络编程 - 所有最新最牛的技术,都源自于军事: -可以远程实时获取数据,实现远程通信 - 如何实现远程通信:---> 物理连接介质 - 电话:---> 电话线 - 纯屏电脑:---

使用 acl 库编写高并发非阻塞网络通信程序

我怕爱的太早我们不能终老 提交于 2019-12-06 10:26:53
一、概述 acl 库的 C 库(lib_acl) 的 aio 模块设计了完整的非阻塞异步 IO 通信过程,在 acl 的C++库(lib_acl_cpp) 中封装并增强了异步通信的功能,本文主要描述了 acl C++ 库之非阻塞IO库的设计及使用方法,该异步流的设计思路为:异步流类与异步流接口类,其中异步流类对象完成网络套接口监听、连接、读写的操作,异步流接口类对象定义了网络读写成功/超时回调、 连接成功回调、接收客户端连接回调等接口;用户在进行异步编程时,首先必须实现接口类中定义的纯方法,然后将接口类对象在异步流对象中进行注册,这样当满 足接口类对象的回调条件时 acl_cpp 的异步框架便自动调用用户定义的接口方法。 在 acl_cpp 中异步流的类继续关系如下图所示: 由上图可以看出,基类 aio_stream 中定义了流关闭,注册/取消流关闭回调和流超时回调等基础方法;aio_istream 和 aio_ostream 分别定义了异步流读及写的基本方法,aio_istream 中包含添加/删除流读成功回调接口类对象的方法,aio_ostream 中包含添加/删除流写成功回调接口类对象的方法;aio_socket_stream 类对象为连接服务器成功后的客户端流,或服务器接收到客户端连接创建的客户端连接流,其中定义了做为连接流时远程连接的方法及添加连接成功回调接口的方 法

《网络编程 — 服务器中bind的ip地址是什么》

廉价感情. 提交于 2019-12-06 10:07:31
所谓bind,就是指绑定本地接受端口。 指定ip,是为了分辨多ip主机。 bind是服务端调用的函数,绑定的是服务端的IP,假设服务端有多个网卡,即会有多个IP,这个时候我们可以选择用bind绑定其中一个IP,那么服务端只接收该IP上某端口的数据。 如果bind绑定的是INADDR_ANY,即表示所有发送到服务器的这个端口,不管是哪个网卡/哪个IP地址接收到的数据,都由这个服务端进程进行处理。 来源: https://www.cnblogs.com/zhuangquan/p/11976052.html

网络编程

ⅰ亾dé卋堺 提交于 2019-12-06 08:23:11
网络编程 ip地址: ip地址是标识网络中设备的一个地址 ping www.baidu.com 检测是否能上公网 ping 当前局域网的地址 检查是否在同一局域网内 ping 127.0.0.1 检测本地网卡是否正常 端口号: 每一个网络应用程序都会有一个端口号 知名端口号:系统级别的应用 范围0-1023 动态端口号:开发应用程序使用端口号 1024-65535 2^16 TCP 一种面向连接的字节流传输层通讯协议 socket 简称套接字 是进程之间通讯的一个工具 http协议 超文本传输协议 规定了浏览器和web服务器通信数据的格式 URL 网络资源地址简称网址,默认端口URL 由协议部分、域名部分、资源路径组成 协议部分:http:// https:// 域名部分:news.163.com(其实就是ip地址) 资源路径:/18/122/...... 请求 响应 请求行      响应行 请求头      响应头 空白行 \r\n     空白行 \r\n 请求体      响应体 get方式没有请求体,post 方式有请求体 来源: https://www.cnblogs.com/erpangzi/p/11971708.html