目录 网络架构及其演变过程 单机架构 CS架构 BS架构 BS架构和CS架构的区别 C/S架构的优缺点: B/S架构的优缺点: 互联网与互联网的组成 互联网的组成(教科书版) 互联网的组成(科普版) OSI七层协议 物理层 数据链路层 以太网协议 Mac地址 广播地址 网络层 传输层 应用层 Socket抽象层 Socket抽象层 网络架构及其演变过程 单机架构 单机:顾名思义,就是不需要进行联网操作 应用领域 俄罗斯方块 连连看 CS架构 CS架构: C--client--客户端,用于安装用户…
 在<Android网络编程>系列文章中,前面已经将Java的通信底层大致的描述了,在我们了解了TCP/IP通信族架构及其原理,接下来我们就开始来了解基于tcp/ip协议层的Socket抽象层.本篇文章将会让我们清楚的了解和学会使用Socket.     什么是Socket?它又是如何运作的?它的表现形式是什么?等等这些问题,本篇文章将逐步的揭晓.   一. 什么是Socket     Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,你可以借助它建立TCP连接等等,…
Python网络编程之网络基础 目录 Python网络编程之网络基础 1. 计算机网络发展 1.1. OSI七层模型 1.2. 七层模型传输数据过程 2. TCP/IP协议栈 2.1 TCP/IP和OSI模型的比较 2.2 TCP协议 2.2.1 端口 2.2.2 TCP包头 2.2.3 TCP三次握手 2.2.4 TCP四次挥手 2.3 UDP协议 3. IP协议 2.3.1 IP地址 1. 计算机网络发展 计算机通信诞生之初,系统化与标准化未收到重视,不同厂商只出产各自的网络来实现通信,这样…
老师的blog整理 .网络编程部分 .网络编程部分 前端部分 django基础部分   老师的blog整理 python基础部分: 宝哥blog: https://www.cnblogs.com/guobaoyuan/ 开哥blog: https://home.cnblogs.com/u/Neeo 女神笔记 目录结构: https://www.cnblogs.com/Eva-J/p/7277026.html 哪吒笔记 目录结构: https://www.cnblogs.com/liwenzhou…
UNIX环境高级编程——TCP/IP网络编程   常用网络信息检索函数 gethostname()   getppername()   getsockname()   gethostbyname()   gethostbyaddr()   getprotobyname()   getprotobynumber()   getservbyname()   getservbyport() 网络属性设置 头文件: #include <sys/types.h> #include <sys/soc…
1. 软件开发架构 我们了解的程序之间通讯的应用可分为两种: 第一种是应用类:qq.微信.百度网盘.腾讯视频这一类是属于需要安装的桌面应用. 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以直接使用的应用. 这些应用的本质其实都是两个程序之间的通讯,而这两个分类又对应了两个软件开发的架构. 1.1 C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的. 这里的客户端一般泛指客户端应用程序EXE,程序需…
1.什么是C/S架构 C指的是client(客户端软件),S指的是Server(服务器软件),本章的重点是教大家写一个C/S架构的软件,实现服务端软件与客户端软件基于网络通信. 2.计算机基础的知识-应用软件通过操作系统来操作硬件 作为应用开发程序员,我们开发的软件都是应用软件,而应用软件必须运行于操作系统之上,操作系统则运行于硬件之上,应用软件是无法直接操作硬件的,应用软件对硬件的操作必须调用操作系统的接口,由操作系统操控硬件. 比如客户端软件想要基于网络发送一条消息给服务端软件,流程是: 1…
一:网络编程从两大架构开始 1.网络开发的两大架构 c/s 架构 : client  server B/S 架构 : Brower  server (1)bs 和 cs 架构之间的关系? (2)哪一种架构更好呢? 1.c/s 架构 client : 客户端 qq , 微信, 飞秋 , 王者荣耀 ,英雄联盟,泡泡卡丁车,魔兽世界,网易云音乐,有道翻译 server : 服务端 百度,阿里,腾讯,大型公司,自己建设自己的服务器, 个人电脑也可以搭建成服务器,但是性能太差,不推荐使用. B/S 架构…
一.网络编程基本概念 1.OSI与TCP/IP体系模型 2.IP和端口 解决了文章最开始提到的定位的问题. IP在互联网中能唯一标识一台计算机,是每一台计算机的唯一标识(身份证):网络编程是和远程计算机的通信,所以必须先能定位到远程计算机:IP帮助解决此问题:一台计算机中可能有很多进程,具体和哪一个进程进行通信,这就得靠端口来识别: IP和端口能唯一定位到需要通信的进程.这里的IP表示地址,区别于IP协议.在OSI体系还是TCP/IP体系中,IP协议位于网际层,来封装IP地址到报文中. 3.TC…
java网络编程 网络编程基础 1.常用的网络拓扑结构: 星型网络.总线网络.环线网络.树形网络.星型环线网络 2.通信协议的组成 通信协议通常由3部分组成: 语义部分:用于决定通信双方对话类型 语法部分:用于决定通信双方对话格式 变换规则:用于决定通信双方的应答关系 3.OSI模型和TCP/IP模型 OSI:开放系统互联参考模型 应用层 表示层 会话层 传输层 网络层 数据链路层 TCP/IP:传输控制协议 应用层 传输层 网络层 物理数据链路层 4.IP地址和端口号 IP地址用于唯一的标识网…
Linux网络编程数据收发的API流程分析        只要把数据在协议栈中的流动线路和脉络弄清楚了,关于协议栈的实现部分,理解起来就轻松多了.在网络编程章节的数据接收过程中,我们主要介绍过read().recv().recvfrom()还有一个recvmsg()没介绍到,今天我们就来看一下这几个API函数到底有什么差别. 数据接收        在接收数据的过程,主要分两个阶段:BOTTOM-HALF和TOP-HALF.        BOTTOM-HALF:        当从网卡驱动收到…
Linux网络编程API函数初步剖析 今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作. 1.socket(family,type,protocol) 当我们在开发网络应用程序时,使用该系统调用来创建一个套接字.该API所做的工作如下所示: 该系统调用主要完成两个任务:"创建套接字"和"为套接字绑定文件句柄". socket{}<include/linux/net.h>结构…
老师的blog整理 python基础部分: 宝哥blog: https://www.cnblogs.com/guobaoyuan/ 开哥blog: https://home.cnblogs.com/u/Neeo 女神笔记 目录结构: https://www.cnblogs.com/Eva-J/p/7277026.html 哪吒笔记 目录结构: https://www.cnblogs.com/liwenzhou/p/9959979.html 超哥笔记 一.网编 1.网络编程部分 https://w…
1.网络模型: |--OSI(open stystem Interconnection开放式系统互连) |--特点: 是一种异构系统互连的分层结构:提供了控制互连系统交互规则的标准骨架:定义一种抽象结构,而并非具体实现的描述:不同系统中相同层的实体为同等层实体:同等层实体之间通信由该层的协议管理:相信层间的接口定义了原语操作和低层向上层提供的服务:所提供的公共服务是面向连接的或无连接的数据服务:直接的数据传送仅在最低层实现:每层完成所定义的功能,修改本层的功能并不影响其他层. |--七层结构:…
网络编程和套接字 网络编程又称为套接字编程,就是编写一段程序,使得两台连网的计算机彼此之间可以交换数据.那么,这两台计算机用什么传输数据呢?首先,需要物理连接,将一台台独立的计算机通过物理线路连接在一起,形成一个网络,使得数据可以通过物理介质进行传输,这一点我们不用过多去关注.我们只需要考虑,如何编写数据传输的程序.编写数据传输的数据,其实说难也难说简单也简单,说它简单,是因为操作系统为我们提供了“套接字”(socket)的部件,我们可以通过套接字完成数据在网络中的传输,实现两台计算机互相交换数…
网络模型 OSI层模型.TCP/IP的层模型如下所示. TCP/IP各层对应的协议如下所示. 通过初步的了解,我知道: IP协议:对应于网络层,是网络层的协议, TCP协议:对应于传输层,是传输层的协议,主要解决数据如何在网络中传输. HTTP协议:对应于应用层,是应用层的协议,主要解决如何包装数据. Socket:本身不是协议,而是对TCP/IP协议的封装和应用的调用接口API,通过它我们才能使用TCP/IP协议. TCP/IP协议 TCP/IP 指传输控制协议/网际协议 (Transmiss…
目录 软件开发架构 C/S架构 B/S架构 网络编程 互联网协议/OSI七层协议 传输层 网络层 数据链路层 物理连接层 socket 什么是socket 为什么用socket 如何使用 软件开发架构 客户端+服务端 服务端:24小时提供服务 客户端:寻找服务 C/S架构 Client:客户端 server:服务端 优点:软件的使用稳定,可以节省网络资源 缺点: 若用户想在同一个设备上使用多个软件,必须下载多个客户端 软件的每一次更新,客户端也必须重新下载更新 C/S架构的软件 例如:电脑上的Q…
什么是C/S架构 C指的是client(客户端软件),S指的是Server(服务端软件),本章的重点就是教大家写一个C/S架构的软件,实现服务端软件与客户端软件基于网络通信. 计算机基础知识 作为应用开发程序员,我们开发的软件都是应用软件,而应用软件必须运行于操作系统之上,操作系统则运行于硬件之上,应用软件是无法直接操作硬件的,应用软件对硬件的操作必须调用操作系统的接口,由操作系统操控硬件. 比如客户端软件想要基于网络发送一条消息给服务端软件,流程是: 1.客户端软件产生数据,存放于客户端软件的…
功能1:从网络上取得的图片显示到imageview上面,生成Bitmap时有两种方法,一种是先转换为byte[],再生成bitmap:一种是直接用InputStream生成bitmap.功能2:点击按钮将显示的图片下载到sd卡上.原文地址:http://www.cnblogs.com/gzggyy/archive/2013/05/18/3085552.html 下面就贴一种直接用InputStream生成bitmap的代码吧,另外一种直接看原文咯.mark一下,方便自己用 package com…
功能: 获取设备名称 方法: gethostname() 参数: 返回值:hostname(string) 功能: 获取设备ipv4地址 方法: gethostbyname() 参数: hostname(string) 返回值:ip(string) 功能: 通过端口名获取对应服务名 方法: getservbyport() 参数: port(int) 返回值:ip(string) ........ #!/usr/bin/env python #coding:utf-8 ''' An example…
主要思想: 主类继承JPanel,在构造方法中将JFrame设成空布局:在其中适当位置添加组件:实现事件监听处理 DATE:2015-10-31 服务器端代码: /** * @author Oyc * 功能:网络简易测试的服务器端 * * */ package com.NETtestServer; import java.awt.Color; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.…
No1: Volley源码分析: Volley.newRequestQueue-> RequestQueue.start()-> CacheDispatcher.start()->CacheDispatcher.run()-> NetworkDispatcher.start()->NetworkDispatcher.run()-> RequestQueue.add()-> BasicNetwork.performRequest()-> HttpStack.p…
一个比较实用的连接函数,支持host为域名. #include <netdb.h> #include <sys/socket.h> #include <sys/types.h> #include <unistd.h> #include <fcntl.h> #include <arpa/inet.h> #include <netinet/tcp.h> #include <iostream> using names…
C++ MFC C++ STL C++ 模板 C++ DLL C++ OpenGL C++ OSG C++ GIS (GRASS QGIS POSTGRE GDAL/OGR) _________________________________C++ Visual Studio Java…
1.sub简单使用 2.粘包现象(1) 3.粘包现象(2) 4.粘包现象解决方案 5.struct学习 6.粘包现象升级版解决方案 7.打印进度条…
今日大纲: 1.FTP上传简单示例(详细代码) 2.socketserver简单示例&源码介绍 3.验证合法性连接//[秘钥加密(urandom,sendall)(注意:中文的!不能用)] 内容回顾: (1)TCP(流)两种黏包现象 1.连续(两次发送的时间间隔很短暂)发送(send)两个小包,被优化算法nagle, 给合并到了一起,造成了黏包 2.一次性接收的数据,并没有将发送的数据完全接受完,第二次接收数据的时候, 会把第一次剩余的数据给接收过来 UDP不会发生黏包现象, (2)解决方案:思…
(1)IPv4套接口地址结构通常也称为"网际套接字地址结构",它以"sockaddr_in"命名,        定义在<netinet/in.h>        struct sockaddr_in{            uint8_t sin_len; //整个sockaddr_in结构体的长度            sa_family sin_family; //指定该地址家族,在这里必须设置为AF_INET            in_port…
1.套接字概述 1.套接概述: 套接是进行网络通信的一种手段(socket) 2.套接字分类:         流式套接字(SOCK_STREAM): 传输层基于tcp协议进行通信         数据报套接字(SOCK_DEGAM): 传输层基于udp协议进行通信         原始套接字(SOCK_RAW): 访问底层协议的套接字 3.TCP与UDP通讯模型流程图: https://www.processon.com/view/link/5ef43bfd1e0853263742690b 4…
1 osi七层,tcp/ip 5层 1 cs架构和bs架构 2 互联网 3 osi七层.5层(5层名字记住:重点) -物理层 -网线,光纤 -数据链路层 -网卡 -网络层 -路由器 -传输层(运输层) -四层路由器 -应用层(会话层,表示层,应用层) -http协议,ftp协议,websocket协议... 2 每一层功能 1 物理层 -网线---->01010101电信号--->从网线中传输电信号 -8个比特位是一个字节 2 数据链路层 -数据帧:一组电信号是一个数据帧,有头和数据部分 -网…
[网络编程之客户端/服务器架构,互联网通信协议,TCP协议] 引子 网络编程 客户端/服务器架构 互联网通信协议 互联网的本质就是一系列的网络协议 OSI七层协议 tcp/ip五层模型 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如百度网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频) C/S架构与套接字(socket)的关系: 学习套接字编程的目的式为了开发一…