网络编程基础知识 先来思考两个问题( 在这里先不解决 ) 如何准确的找到一台 或 多台主机? 找到之后如何进行通讯? 网络编程中的几个要素 IP 和 端口号 网络通讯协议:TCP / UDP 最后一句话 万物皆对象 1.IP介绍--英文:inetAdress--IP地址 作用:标记网络中每台计算机的身份,网络中每台计算机都有一个唯一的身份号码,就和人的身份证一样 举个例子:如127.0.0.1--指:本机地址( localhost ) IP的表示方法 ipv4 / ipv6 ipv4:由一个4字…
1.先认识一个类----File类 前言:IO相关的一些常识 I / O----输入输出 I     输入     input 0    输出     output I / o 按数据的流动方向来分----流动方向:指的是计算机的数据流动----其实这个是有参考系的,如:如果说想要把一个数据弄到主存中来,那我所处的角度(位置)就是主存,数据就只是我的目标,因此:这时读数据就是input(从另外的地方把数据读进来嘛),而从本身中(主存中)把数据弄到另一个地方去,那就是output--写数据(把数据…
今日概要: 一.面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) 2.__setattr__,__getattr__,__delattr__ 3.二次加工标准类型(包装/授权) 4.__setitem__,__getitem__,__delitem__ 5.__str__,__repr__,__format 6.__next__,__iter__实现迭代器协议 7.__doc__ 8.__del__析构函数 9.__enter__,__exit…
0.前言 这里面一些理论和前面的知识点挂钩的,所以:建议看一下另外3篇知识内容 基础篇:https://www.cnblogs.com/xiegongzi/p/15684307.html java操作篇:https://www.cnblogs.com/xiegongzi/p/15690534.html 高级篇1:https://www.cnblogs.com/xiegongzi/p/15757337.html 4.12.文档搜索 4.12.1.不可变的倒排索引 以前的全文检索是将整个文档集合弄成…
要进行网络编程,首先要搞清楚目的是什么. 网络编程说简单点就是在网络上的计算机进行数据的交互. 既然要进行数据交互,那就需要有一个发送方和一个接受方. 按网络上的说法,就是一个攻一个受· 当然,现阶段网上的电脑一般来说都是既接受数据,也能发送数据的,所以说这些电脑都是"插座型"的,进可攻,退可受!!! 好吧,还是使用专业点的名字吧:客户端/服务器. 那么具体到两台电脑,它们是如何来交互数据的呢?请看下图: 从步骤来分析: 一.服务器端程序 1.1创建一个服务器套接字(ServerSoc…
java8新特性 在前面已经见过一些东西了,但是:挖得有坑儿 1.lambda表达式 lambda表达式是jdk1.8引入的全新语法特性 它支持的是:只有单个抽象方法的函数式接口.什么意思? 就是说:这个接口下面只有一个抽象方法是真正属于自己的( 像那种从Object类里面继承过来的不算 ---- 所以这样严格来讲:这个接口里面就只有一个抽象方法是真正属于自己的 ) 什么时候会用这个东西? ---- 总的一句话是:传参的时候是一个函数式接口就会用( 这句话包含了很多东西,这里不理解没事儿,学完了…
原文地址:http://www.work100.net/training/java-networking.html 更多教程:光束云 - 免费课程 网络编程 序号 文内章节 视频 1 概述 2 Socket编程 3 ServerSocket类的方法 4 Socket类的方法 5 InetAddress类的方法 6 Socket客户端实例 7 Socket服务端实例 请参照如上章节导航进行阅读 1.概述 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.net…
Java网络编程学习笔记 1. 网络编程基础知识 1.1 网络分层图 网络分层分为两种模型:OSI模型以及TCP/IP网络模型,前者模型分为7层,是一个理论的,参考的模型:后者为实际应用的模型,具体对应关系见下图: 1.2 网络编程三要素之IP地址 目前的版本是ipv4,采用的是点分十进制的表示方式(dotted-decimal notation),一共4位,每一位表示一个字节,因为IP地址是没有负数的,因此表数范围是0-255,子网掩码的存在使得一个IP地址被区分为了两个部分,网络地址以及主机…
摘自:http://www.runoob.com/java/java-networking.html JAVA网络编程 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来. java.net包中J2SE的API包含有类和接口,他们提供低层次的通信细节.你可以直接使用这些类和接口,来专注于解决问题,而不用关注通信细节. java.net包中提供了两种常见的网络协议的支持: TCP:TCP是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信.通常用于互联网协议,被称TCP…
day11[网络编程] 主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 教学目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类名称 能够编写TCP协议下字符串数据传输程序 能够理解TCP协议下文件上传案例 能够理解TCP协议下案例2 第一章 网络编程入门 1.1 软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构.常见程序有QQ.迅雷等软件. B/S结构 :全称为Browser/Serve…
注解 ---- 英文:annotation 1.注解长什么样子? @xxxxxxx( 一些信息 ) ----- 这个信息可有可无 2.注解可以放在什么地方? 类本身的上面.属性的上面.方法的上面.参数的前面 3.注解的作用是什么? 1.用来标识一个事物( 方法.属性.参数...)有特殊的含义 2.用来消灭配置文件 详细点就是这样的: 1).用来充当注释的作用,仅仅相当于是一个文字的说明 如:@Deprecated        ---- 表示该方法是废弃的 2).用来做代码的检测 如:@over…
反射机制 1.反射机制是什么?----英文单词是:reflect.在java.lang包下---这才是java最牛逼的技术 首先提前知道一句话----在java中,有了对象,于是有了类,那么有了类之后,也就有了反射 因此:学反射机制,需要做到一件事----把思想从以前的类中跳出来,将思想再拔高一个层次--站在类的头上思考问题   那么到底什么是反射机制? 就是用来动态的操作类( 含静态操作类本身[ 名字.修饰符.注解... ].动态操作类中的成员信息[ 属性.方法 ....] ) 为什么需要学习…
1:网络概述 1.1 网络的发展Net 1964年,美国人---> 阿帕网--->以太网Internet 1.2 网络的通信协议 windows电脑,android手机,Mac平板--->联网 ---->网络协议(一个文档:长度,速率,格式) --->根据文档来写了一段代码(通信协议) 1.3 通信协议的分类 TCP/IP协议: 是一组协议 TCP:传输控制协议 IP :互联网协议 1.4 TCP/IP的分层 应用层:主要负责应用程序的协议,用来产生和显示数据 HTTP:超文…
1.什么是设计原则? 设计原则就是面向对象的原则嘛,即:OOP原则 换句话说:就是为了处理类与类之间的关系( 包括接口.类中的方法 ) 2.OOP设计原则有哪些? 1).开闭原则:就是指对拓展开放.对修改关闭 -- 这个在我的javaSE的面向对象中说明过了 2).里式替换原则:继承必须确保父类的性质在子类中仍然成立 这个体现在什么地方?方法的重写嘛,因此:子类继承了父类,如果父类的方法不能满足自己的需求,那么最好别使用重写,而是保留父类中的方法,子类进行重载编写( 当然:我们一般都是重写_,但…
1.异常的体系结构  注:Throwable是一个类,不是一个接口,这个类里面是描述的一些Error和Exception的共性,如图所示: 异常 / 错误是什么意思? 定义:指的是程序运行过程中,可能会发生一些不被期望的效果,它会阻止我们的程序按照指令去执行 而这种不被预期出现的结果,肯定需要抛出来告诉我们 而在java中,有一个定义好的规则--就是前面所提到的:Throwable( 意思是:可抛出的 ) Error又是什么意思? 错误:指的是物理上的问题,如:JVM虚拟机本身的问题 Excep…
一.socket的简介 socket(简称:套接字)进程间通信的一种方式,它与其他进程间通信的一个主要不同是:能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,如qq聊天.微信聊天等. 二.socke的基本使用 在python中使用socket模块就可以创建套接字: import socket socket.socket(AddressFamily, Type) 函数说明: Address Family:可以选择 AF_INET(用于 Interne…
说到java网络通讯章节的内容,刚入门的学员可能会感到比较头疼,应为Socket通信中一定会伴随有IO流的操作,当然对IO流比较熟练的哥们会觉得这是比较好玩的一章,因为一切都在他们的掌握之中,这样操作起来就显得非常得心应手,但是对于IO本来就不是多熟悉的哥们来说就有一定的困难了,在搞清楚IO流操作机制的同时还必须会应用到Socket通信中去,否则会对得到的结果感到非常郁闷和懊恼,下面就和大家一起分享一下自己遇到一点小麻烦后的感触以及给出的解决办法. 要求:客户端通过Socket通信技术上传本地一…
端口: 物理端口: 逻辑端口:用于标识进程的逻辑地址,不同进程的标识:有效端口:0~65535,其中0~1024系统使用或保留端口. java 中ip对象:InetAddress. import java.net.*; class  IPDemo{ public static void main(String[] args) throws UnknownHostException{ //通过名称(ip字符串or主机名)来获取一个ip对象. InetAddress ip = InetAddress…
△客户端使用Scanner与BufferedReader的异同,Scanner在客户端调用s.shutdownoutput的时候,将会因为读不到行而报异常,但是BufferedReader的readline方法则会正常终止.因此应当根据实际情况选择客户端服务端的流输入. △实例:根据DatagramSocket和DatagramPacket建立发送端和接收端. 接收端: public class Receive { public static void main(String[] args) t…
一.拾遗 动态导入模块 目的是为了在导入模块的过程中将模块以字符的格式导入. #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:wanghui lib = __import__("lib.aa") #传统方法 lib.aa import importlib aa = importlib.import_module("lib.aa") #官方做法 print(aa.C().name) 断言 类似于if,实际的意思…
G相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley用法全解析 Android网络编程(四)从源码解析volley Android网络编程(五)OkHttp2.x用法全解析 Android网络编程(六)OkHttp3用法全解析 Android网络编程(七)源码解析OkHttp前篇[请求网络] Android网络编程(八)源码解析OkHttp后篇[复用连接池] And…
本文原作者:“水晶虾饺”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.引言 好多小白初次接触即时通讯(比如:IM或者消息推送应用)时,总是不能理解Web短连接(就是最常见的HTTP通信了)跟长连接(主要指TCP.UDP协议实现的socket通信,当然HTML5里的Websocket协议也是长连接)的区别,导致写即时通讯这类系统代码时往往找不到最佳实践,搞的一脸蒙逼. 本篇我们先简单了解一下 TCP/IP,然后通过实现一个 echo 服务…
20145215实验五 Java网络编程及安全 实验内容 掌握Socket程序的编写: 掌握密码技术的使用: 设计安全传输系统. 实验步骤 本次实验我的结对编程对象是20145208蔡野,我负责编写客户端代码的编写,他负责服务器代码的编写,以下是我实验进行的步骤: 首先,我们要对计算机网络的一些基本概念有所了解,大家可以参考一下娄老师提供的Java网络编程,这里面对客户端及服务器有较详细的介绍,在此我就不一一赘述了. 根据文章中所提到的客户端网络编程步骤可以知道,客户端的编程主要由三个步骤实现:…
3.高级篇 前言 基础篇链接:https://www.cnblogs.com/xiegongzi/p/15782921.html 组件化开发篇链接:https://www.cnblogs.com/xiegongzi/p/15823605.html 3.1.回顾浏览器本地存储 就是localstorage和sessionstorage这两个( 前者浏览器关闭不会清空,后者关闭浏览器会清空 ),二者常用的API都一模一样,二者里面存的数据都是key-value的形式 存数据 setItem( 'ke…
在高级篇二中,我们讲解了5中常用的IO模型,理解这些常用的IO模型,对于编写服务器程序有很大的帮助,可以提高我们的并发速度!因为在网络中通信主要的部分就是IO操作.在这一篇当中我们会重点讲解在第二篇当中提到的IO复用模型,即select机制.其实select机制有一些缺陷,后来产生了一种更加高效的机制epoll,稍后会讲解! 一.select机制 1. 原理:select可以理解成一个监听器,可以监听多个文件描述符.当某个文件描述符的状态发生改变了(可读/可写),操作系统就会发送消息给应用程序,…
python高级之网络编程   python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及其源码分析 1.网络通信概念 说到网络通信,那就不得不说TCP/IP协议簇的OSI七层模型了,这个东西当初在学校都学烂了...(PS:毕竟本人是网络工程专业出身...) 简单介绍下七层模型从底层到上层的顺序:物理层(定义物理设备的各项标准),数据链路层(mac地址等其他东西的封装),网络层(IP包头…
在上一篇中我们简单的说了一下Python中网络编程的基础知识(相关API就不解释了),其中还有什么细节的知识点没有进行说明,如什么是TCP/IP协议有几种状态,什么是TCP三次握手,什么是TCP四次握手以及如何设计一个单线程多任务版的TCP服务器,这些问题都是本文需要解决的问题. 一.TCP/IP的11种状态 netstat -na  | grep port_num:可以查看TCP/IP状态 一个完整的Socket通信过程,会经过11种TCP/IP状态,状态图如下: 思考三个问题: 1.为什么T…
集合还是一种工具,所以它们的包都在java.util包下 1.集合的整个体系结构(是需要掌握的体系,完全体系不是这样) 对图中所说的 序和重复 这两词的说明: 序:指的是添加进去的元素和取出来的元素 的 顺序是一样的(不是指集合本身的顺序),如:放进去的时候这个元素在集合中是第一个,取的时候还是第一个--可以参照数组,数组里面的元素不就是有索引,有顺序吗 重复:集合中的两个元素一样,一样的道理:拿数组参照,数组中可以放两个a涩 虽然这个体系很大,但是学懂分支集合中的一种,分支下的其他集合就懂了,…
1.面向对象编程思想(重点中的重点) 题外话: 其他都还可以是技术,但这里是走自己的路--面向对象编程,即:OOP,养成的思想就是:万物皆对象,懂得把东西抽离出来 这一部分记的理论知识很多,而且需要自己根据理论实践出来,很多地方需要自己构思,然后用代码实现出来看结果. 同时:这个阶段也是真正决定是不是程序员这块料的人,因为:这个阶段就是养成自己的代码编写风格阶段(即:自己的逻辑思想阶段),因此:宁愿多花时间看理论.自己构思代码,每个知识点都玩儿出自己的花样儿,用稍微长一点的时间真正学懂这个阶段的…
本篇文章大部分借鉴 http://www.cnblogs.com/nulige/p/6235531.html python socket  网络编程 一.服务端和客户端 BS架构 (腾讯通软件:server+client) CS架构 (web网站) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 二.OSI七层模型 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 每层运行常见物理设备 详细参考: http://www.cnblogs.…