计算机网络

iOS:即时通讯之<了解篇 SocKet>

余生颓废 提交于 2020-01-19 01:15:44
什么是socket? 计算机专业术语就是: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket的英文原义是“孔”或“插座”。作为BSD UNIX的 进程通信 机制,取后一种意思。通常也称作" 套接字 ",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的 主机 一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务 通俗语: Socket称"套接字” 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 socket端 ,平时我们向服务器发送一个网络请求,然后服务器响应请求,返回服务器数据应用程序通常通过"套接字"向网络发出请求或者应答网络请求 细节: 1.Socket相当于一个“管道”或者说“隧道”两边的连接,一个进入,一个出来 2.用户名和密码是存储在服务器的数据库中 3.我们要保证客户端程序是访问web应用程序还是数据库应用程序呢

26.python网络编程

不打扰是莪最后的温柔 提交于 2020-01-19 00:04:50
一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。 但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了。 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢? 类似的机制有计算机网盘,qq等等。我们可以在我们的电脑上和别人聊天,可以在自己的电脑上向网盘中上传、下载内容。这些都是两个程序在通信。 二.软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。 2.B/S架构 B/S即:Browser与Server,中文意思

计算机网络知识点整理

别说谁变了你拦得住时间么 提交于 2020-01-18 06:54:19
(更新中) 参考书:《计算机网络自顶向下方法 原书第七版》 第一章 计算机网络和因特网 1、什么是协议? 协议(protocol) ,定义了在两个或多个通信实体间 传输报文的格式和顺序 ,以及 报文发送和/或接收一条报文或其他事件所采取的动作 。 2、什么是网络边缘,常用设备有哪些? 与因特网相连的计算机和其他设备称为端系统 例如: 桌面计算机 服务器 移动计算机。 3、常用家庭接入方式有哪些,企业和移动接入方式有哪些? 家庭接入 : DSL(用户数字线) 电缆 FTTH(光纤到户) 拨号 卫星 企业接入 以太网 WIFI 移动接入 3G LTE(长期演进) 4、导引型物理传输媒体有哪些?非导引型物理传输媒体有哪些? 导引型物理传输媒体 双绞铜线 同轴电缆 光纤 非导引型物理传输媒体 陆地无线电信道 卫星无线电信道 5、什么是网络核心?网络核心通常设备有哪些? 互联因特网 端系统的分组交换机和链路构成的网状网络 。 网络核心通常设备有 路由器(Route) 和 链路层交换机(link-layer switch) 。 6、简单描述存储转发传输机制? 传输当前分组时,需要完全的接收到分组,才能把该分组推向数据链路。 7、网络中数据交换的两种基本方式时什么? 分组交换 电路交换 。 8、电路交换中的复用方式有哪些?分组交换和电路交换的对比? 复用方式: 频分复用 和 时分复用 。

传输协议三

落爺英雄遲暮 提交于 2020-01-17 12:01:55
五、建立 TCP客户端 讨论了套接字类的功能后,我们将分析一个完整的 TCP客户端程序。此处我们将看到的客户端程序是一个daytime客户端,它连接到一个daytime服务器程序以读取当前的日期和时间。建立套接字连接并读取信息是一个相当简单的过程,只需要少量的代码。 默认情况下 daytime服务运行在13端口上。并非每台计算机都运行了daytime服务器程序,但是Unix服务器是客户端运行的很好的系统。如果你没有访问Unix服务器的权限,在第七部分我们给出了TCP daytime服务器程序代码--有了这段代码客户端就可以运行了。 DaytimeClient的代码 import java.net.* import java.io.*; public class DaytimeClient { public static final int SERVICE_PORT = 13; public static void main(String args[]) { // 检查主机名称参数 if (args.length != 1) { System.out.println ("Syntax - DaytimeClient host"); return; } // 获取服务器程序的主机名称 String hostname = args[0]; try { //

计算机网络常见面试题

混江龙づ霸主 提交于 2020-01-16 16:06:08
一 OSI与TCP/IP各层的结构与功能,都有哪些协议? 小说网 m.198200.com 学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。 结合互联网的情况,自上而下地,非常简要的介绍一下各层的作用。 1.1 应用层 应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的 HTTP协议,支持电子邮件的 SMTP协议等等。我们把应用层交互的数据单元称为报文。 域名系统 域名系统(Domain Name System缩写 DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。(百度百科)例如:一个公司的 Web 网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,类似的还有:IBM 公司的域名是 www.ibm.com、Oracle 公司的域名是 www.oracle.com

Java基础(19)——网络编程

拥有回忆 提交于 2020-01-16 15:08:02
目录 第一章 网络编程入门 1.1软件结构 1.2 网络通信协议 1.3 协议分类 1.4 网络编程三要素 协议 IP地址 端口号 第二章 TCP通信程序 2.1 概述 2.2 Socket类 构造方法 成员方法 2.3 ServerSocket类 构造方法 成员方法 2.4 简单的TCP网络程序 TCP通信分析图解 客户端向服务器发送数据 服务器向客户端回写数据 第三章 综合案例 3.1 文件上传案例 文件上传分析图解 基本实现 文件上传优化分析 优化实现 信息回写分析图解 回写实现 3.2 模拟B\S服务器(扩展知识点) 案例分析 案例实现 访问效果 第一章 网络编程入门 1.1软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。 B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 两种架构各有优势,但是无论哪种架构,都离不开网络的支持。 网络编程 ,就是在一定的协议下,实现两台计算机的通信的程序。 1.2 网络通信协议 **网络通信协议:**通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议

数据传输中的成帧

戏子无情 提交于 2020-01-16 04:02:12
什么是数据传输中的成帧 数据传输中的成帧 成帧技术是一种用来在一个比特流内分配或标记信道的技术,为电信提供选择基本的时隙结构和管理方式、错误隔离和分段传输协议的手段。两个计算机或设备之间的点到点的连接中包括一根电线,在这根电线中数据作为位流传输。但是,这些位必须被分成可辨别的信息块。分帧是数据链路层的功能。它使发送器接收器传输一组对有含义的位。以太网、令牌环网、帧中继以及其他数据链路层技术都有它们自己的帧结构。帧具有包含错误检查代码之类的信息的标题。 共有三种不同类型的分帧,每个都为发送器提供一种方法以告诉接收器数据块开始和结束的位置: 面向字节分帧 计算机数据通常是以字母、数字、字符存储的,这种字符是用8bit组合(1Byte)编码的。这种分帧类型使字节各不相同。在终端/大型机环境中使用的是更老样式的分帧。其中面向字节分帧的例子包括IBM的BISYNC协议。 面向位的分帧 这种分帧允许发送器同时传输一长串的位。IBM的SDLC (同步数据链路控制)和HDLC(高级数据链路控制)都是面向位协议的例子。大多数LAN都使用面向位的分帧。通常有最大的帧大小。例如,以太网的最大帧大小为l526Byte。帧的开始和结束是用特殊的位序列来标识的(对于HDLC,是01111110)。如果没有传输数据,将连续传输相同的序列以便终端系统保持同步化。 基于时钟的分帧 在基于时钟的系统中

Linux入门-第六周

家住魔仙堡 提交于 2020-01-15 07:45:14
1、总结IP地址规划   IP地址的合理规划是网络设计中最重要的一环,在大型网络中必须对IP地址进行统一规划并得到实施。IP地址规划的好坏影响到网络路由协议算法的效率,影响到网络的性能,影响到网络的拓展,影响到网络的管理,也必将直接影响到网络应用的进一步发展。毫不夸张的说,看一个网络的规划质量和网络工程师的技术水准,直接看他的IP地址规划就好了。   IP地址规划的基本原则     1)唯一性:一个IP网络中不能有两个主机采用相同的IP地址。即使使用了支持地址重叠的MPLS/VPN技术,也尽量不要规划为相同的地址。     2)连续性:连续地址在层次结构网络中易于进行路径叠合,大大缩减路由表,提高路由算法的效率。     3)可扩展性:地址分配在每一层次上都要留有余量,在网络规模扩展时能保证地址所需的连续性。     4)实意性:顾名思义就是在分配IP地址时尽量使所分配的IP地址具有一定的实际意义,使人一看到该IP地址就可以知道此IP地址分配给了哪个部门或哪个地区。   在分配IP地址时需要注意一下几点     配置Loopback地址时,使用的子网掩码为32     配置互联地址时,使用的子网掩码为30     对各业务网关进行统一设定,比如将所有的网关统一设置为X.X.X.254 2、总结常见网络管理命令     ifconfig:      

goweb-web服务

吃可爱长大的小学妹 提交于 2020-01-14 18:50:37
Web服务 Web服务可以让你在HTTP协议的基础上通过XML或者JSON来交换信息。如果你想知道上海的天气预报、中国石油的股价或者淘宝商家的一个商品信息,你可以编写一段简短的代码,通过抓取这些信息然后通过标准的接口开放出来,就如同你调用一个本地函数并返回一个值。 Web服务背后的关键在于平台的无关性,你可以运行你的服务在Linux系统,可以与其他Windows的asp.net程序交互,同样的,也可以通过同一个接口和运行在FreeBSD上面的JSP无障碍地通信。 目前主流的有如下几种Web服务:REST、SOAP。 Socket编程 在很多底层网络应用开发者的眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在的网络编程几乎都是用Socket来编程。你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和Web服务器进行通信的呢?当你用QQ聊天时,QQ进程怎么和服务器或者是你的好友所在的QQ进程进行通信的呢?当你打开PPstream观看视频时,PPstream进程如何与视频服务器进行通信的呢? 如此种种,都是靠Socket来进行通信的,以一斑窥全豹,可见Socket编程在现代编程中占据了多么重要的地位,这一节我们将介绍Go语言中如何进行Socket编程。 什么是Socket? Socket起源于Unix,而Unix基本哲学之一就是“一切皆文件”,都可以用

scoket

♀尐吖头ヾ 提交于 2020-01-14 11:59:43
Socket网络编程 什么是Socket   Socket就是为网络服务提供的一种机制。   通讯的两端都有 Sokcet   网络通讯其实就是 Sokcet间的通讯   数据在两个 Sokcet间通过IO传输。 TCP/IP   要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP( Transmission Control Protocol/Internet Protocol)即传输控制协议 /网间协议,定义了主机如何连入因特网及数据如何再它们之间传输的标准,   从字面意思来看TCP/IP是TCP和IP协议的合称,但实际上TCP/IP协议是指因特网整个TCP/IP协议族。不同于ISO模型的七个分层,TCP/IP协议参考模型把所有的TCP/IP系列协议归类到四个抽象层中   应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等   传输层:TCP,UDP   网络层:IP,ICMP,OSPF,EIGRP,IGMP   数据链路层:SLIP,CSLIP,PPP,MTU   每一抽象层建立在低一层提供的服务上,并且为高一层提供服务,看起来大概是这样子的 IP地址与域名     在现实生活中,如果要打电话则需要知道对应人的电话号码,如果要寄信则需要知道收信人的地址。在网络中也是这样,需要知道一个设备的位置,则需要使用该设备的 IP地址