2019-04-08-day027-网络编程基础
网络编程
- 基于同一台机器上的多个程序之间通信 可以基于文件
- 基于多台机器之间的通信 可以基于网络
web程序两种架构完成的:
- C/S :client(客户端) server(服务端)
- B/S :browser(浏览器) server(服务端)
安装一个客户端,然后这个客户端就可以和服务端进行网络交互
所有能够用网页访问的网站 这个网站是B/S架构的
- 拉钩 淘宝 12306 京东 51cto 399
chrome IE 360 火狐 百度 uc sogou - B/S和C/S架构的关系
- 所有的B/S架构都需要一个浏览器才能访问
- 浏览器是一个软件,相当于一个客户端
- 所有的B/S架构也都是C/S架构的
- 浏览器(browser)是特殊的客户端(client)
- client(broser) <---> server
这两种架构哪个好
- C/S 装好之后直接双击就可以使用了
- B/S 极大的简化了我们使用软件的成本
B/S
- 更符合现在的使用理念
- 但是还有很多功能没有实现
- 在PC端统一了程序的入口
- 在手机端没有那么喜欢用浏览器
- 统一入口的软件
mac address
你是谁 我是谁
- mac地址 唯一标识了一台机器
- mac地址 说的话 你的mac地址
- 8C-EC-4B-80-AA-4D
多台机器之间的通信
- mac : 机器的唯一标识
- 网卡 : 一个计算机上的硬件 这个硬件出厂的时候就被分配了一个mac地址
- ip地址 :比mac好记,能够按照区域来区分(区分你在哪一个局域网内)
- 协议 : 在传输过程中规定位数 顺序等等传输规则的内容
- 交换机 : 局域网内多台机器之间的通信
- arp协议 :通过ip地址找到mac地址
局域网概念
- 路由器 : 能够做局域网与局域网之间的通信
- 网关ip : 在一台机器对局域网外的地址进行访问的时候使用的出口ip
- 端口 : 帮助我们找机器上的对应服务 0-65535 惯用的端口号 80,8000之后
qq ---> qq
wechat ---> wechat
web ---> web
子网掩码
- 192.168.16.13
- 255.255.0.0
- 11000000.10101000.00010000.00001101
- 11111111.11111111.00000000.00000000
- 11000000.10101000.00010000.00000000 = 192.168.0.0
- 1&1=1
1&0 0&0 0&1 =0
1&0 = 0
1&1 = 1
0&0 = 0
0&1 = 0
192.168.32.5
255.255.0.0
11000000.10101000.00100000.00000101
11111111.11111111.00000000.00000000
192.168.0.0
ip的保留字段
- 0.0.0.0-255.255.255.255
- 10.0.0.0-10.255.255.255
- 172.16.0.0-172.31.255.255
- 192.168.0.0-192.168.255.255
- 127.0.0.1 本地的回环地址 别的人找不到你 只有你自己这台机器能找到你自己
- 0.0.0.0 全网段地址
- server : 0.0.0.0:9000
osi七层协议 七层协议 :每层对应的协议\物理设备
- tcp协议 udp
ip port
- socket套接字
- 所有的网络通信的底层都是基于socket做的
2019-04-08-day027-网络编程基础的更多相关文章
- Java网络编程和NIO详解开篇:Java网络编程基础
Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...
- C#网络编程基础知识
C#网络编程基础知识一 1.IPAddress类 用于表示一个IP地址.IPAddress默认构造函数 public IPAddress(long address);一般不用 其中Parse()方法最 ...
- iOS开发网络篇—网络编程基础
iOS开发网络篇—网络编程基础 一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过 ...
- Android 网络编程基础之简单聊天程序
前一篇讲了Android的网络编程基础,今天写了一个简单的聊天程序分享一下 首先是服务端代码: package com.jiao.socketdemo; import java.io.Buffered ...
- 服务器编程入门(4)Linux网络编程基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系. 这节主要介绍三个方面的内容:套接字( ...
- Java网络编程基础(Netty预备知识)
今天在家休息,闲来无事,写篇博客,陶冶下情操~~~ =================我是分割线================ 最近在重新学习Java网络编程基础,以便后续进行Netty的学习. 整 ...
- 用Netty开发中间件:网络编程基础
用Netty开发中间件:网络编程基础 <Netty权威指南>在网上的评价不是很高,尤其是第一版,第二版能稍好些?入手后快速翻看了大半本,不免还是想对<Netty权威指南(第二版)&g ...
- Linux 高性能服务器编程——Linux网络编程基础API
问题聚焦: 这节介绍的不仅是网络编程的几个API 更重要的是,探讨了Linux网络编程基础API与内核中TCP/IP协议族之间的关系. 这节主要介绍三个方面的内容:套接字(so ...
- Python网络编程基础pdf
Python网络编程基础(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VGwGtMSZbE0bSZe-MBl6qA 提取码:mert 复制这段内容后打开百度网盘手 ...
- 【网络编程1】网络编程基础-TCP、UDP编程
网络基础知识 网络模型知识 OSI七层模型:(Open Systems Interconnection Reference Model)开放式通信系统互联参考模型,是国际标准化组织(ISO)提出的一个 ...
随机推荐
- 『Yaml』配置文件读写包
YAML 在Python中的配置应用 YAML 是专门用来写配置文件的语言,和JSON相近,都是对字典做规范化文件输出的 一.简介 YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读 ...
- 创建springboot的聚合工程(三)
springboot聚合工程之添加mybatis数据库持久化操作 在boot-polymer-repository工程添加mybatis的相关依赖 <project xmlns="ht ...
- CO15批次确定,标准的太蛋疼了
1.批次确定的配置,之前有转过,自己也动手配过,可以是可以,但是蛋疼,用户不愿意去弹出的界面选批次...2.因为这边的批次全部是按年月日+流水生成的,所以在批次确定这里就需要按照批次的号来排序选择了 ...
- 一、I/O操作(缓存流,数据流,对象流)
一.缓存流 以介质是硬盘为例子说明,字节流和字符流的缺点: 每次读写的时候,都会访问硬盘,如果读写频率比较高的时候,性能不佳.为了解决问题,采用缓存流. 缓存流在读取的时候,会一次性读较多的数据到缓存 ...
- 更改Linux语言环境
查看本地语言环境 locale 中文环境: export LC_ALL=zh_CN.UTF- 英文环境:export LC_ALL=en_US.UTF-8 具体设置其他环境百度...
- git reset --hard 恢复
git reset --hard ,再然后,悲剧上演~ 恢复方法: 使用 git reflog 来找到最近提交的信息,这里贴出部分信息: F:\voidy>git reflog WARNING: ...
- CSS三列布局之左右宽度固定,中间元素自适应问题
最近学到了几种关于左右固定宽度,中间自适应的三列布局的方法,整理了一下,在这里跟大家一起分享分享,其中有什么不足的还望各位给指导指导哈. 首先我想到的是float——浮动布局 使用浮动,先渲染左右两个 ...
- python http 请求 响应 post表单提交
1. 查看请求 响应情况 print(response.text) print(response.headers) print(response.request.body) print(respons ...
- Nginx的Access日志记录的时机
想当然了,所以犯了一个低级的错误... nginx的access访问日志可以记录下访问到nginx的相关信息.包含请求地址,请求路径,返回码,请求的处理时间等信息.. 然后问题来了,这个日志是什么时候 ...
- 当你有双网络(内部网+互联网)时,如何透明NAT给其他电脑上网。虚拟机+爱快
一:简介 具体环境是这样的:单位没有提供互联网连接,都是内部网,linux服务器,无法连接源更新,docker无法pull镜像,python无法在线pip安装包. 真是郁闷到想死啊. 好在我的笔记本有 ...