异常处理与网络基础中的tcp,udp协议
# 异常处理:
# 什么是异常?异常和错误的区别
# Error 语法错误 比较明显的错误 在编译代码阶段就能检测出来
# Iteration 异常 在执行代码的过程中引发的异常
# 异常发生之后的效果
# 一旦在程序中发生异常,程序就不再继续执行了
# try:
# # name
# [][3]
# except NameError:
# print("请设置好变量!!")
# except IndexError: #分支异常处理
# print('请认真!!')
# # except Exception as e:#万能异常,常常放在分支异常后面
# # print(e,type(e))
# else:
# print(666)#只有不出现错误才会执行,若执行成功except,不执行else
# finally:
# print(777)#不管出没出现错误,finally都会执行 # 自定义异常
# raise NameError('这是一个name error的异常')
# class EvaException(Exception):
# def __init__(self,msg):
# self.msg = msg
#
# raise EvaException('这是一个什么什么错误,有什么问题') # 使用异常处理的注意事项
# 断言 assert raise 主动抛异常
# 异常处理(一般少用异常处理)
# try/except
# try/except/else
# try/except/else/finally
# try/except/finally
# try/finally # collections模块
# 数据类型的扩展模块
# import queue
# q = queue.Queue()
# print(q.qsize())
# q.put(1)
# q.put('a')
# q.put((1,2,3))
# q.put(({'k':'v'}))
# print(q.qsize())
# print('q : ',q)
# print('get : ',q.get())
# print(q.qsize()) # deque 双端队列
# from collections import deque
# dq = deque()
# dq.append(2)
# dq.append(5)
# dq.appendleft('a')
# dq.appendleft('b')
# print(dq)
# # print(dq.pop())
# # print(dq)
# # print(dq.popleft())
# # print(dq)
# print(dq.remove('a'))
# print(dq.insert(2,'123'))
# print(dq) # 网络基础:
# (1)架构:C/S架构,client客户端和server服务器端,优势在于充分发挥pc机的性能;
# B/S架构,browers浏览器和server服务器端,统一了应用的接口
# 1 mac地址 : 是一个物理地址,全球唯一, 类似于身份证
# 2 ip地址: 是一个四位点分十进制,它标识了计算机在网络中的位置.类似于 学号
# 3 交换机的通信方式:
# 广播 : 吼一嗓子
# 单播 : 一对一
# 组播 : 一对多
# 4 arp协议 : 通过目标ip地址获取目标mac地址的一个协议.
# 5 端口 : 操作系统为本机上每一个运行的程序都随机分配一个端口,其他电脑上的程序可以通过端口获取到这个程序
# ip地址 + 端口 能唯一找到某台电脑上的某一个服务程序
# 6 路由器 : 连接不同网段 , 路由
# 7 网关 : 类似于一个局域网的出口和入口
# 8 网段 : 一个局域网内的ip地址范围
# 9 子网掩码 : 子网掩码 & ip地址 得到网段
# 10 osi 五层模型:
# 应用层 : http,https,ftp
# 传输层 : tcp / udp 四层交换机 四层路由器
# 网络层 : ip协议 路由器 三层交换机
# 数据链路层 : arp协议 以太网交换机 网卡 网桥
# 物理层 : 传输电信号 集线器 网线 光纤
# (2).socket模块
# 这是一个新的模块
# import socket
#
# socket
# 又叫做套接字
# 有很多种类型, 但是咱们只需要知道两种就可以了
# sk = socket.socket(family=AF_INET, type=SOCK_STREAM)
# family:
# 一种: AF_UNIX基于文件类型的套接字(早期socket是源自于unix系统而研发的一个功能, 主要是为了同一台电脑上, 多个程序直接通信)
# unix系统的中心思想是: 一切皆文件
# 一种: AF_INET基于网络类型的套接字
# type:
# 一种是基于TCP协议
# SOCK_STREAM
# 一种是基于UDP协议
# SOCK_DGRAM
# tcp协议: 可靠的, 面向连接的, 面向字节流形式的传输方式
# udp协议: 不可靠的, 不面向连接的, 面向数据报的传输方式, 但是它快
# 创建服务器文件:
# server_.py内容如下:
import socket
k1=socket.socket()
k1.bind(('192.168.12.32', 8800))
k1.listen()
cn,ar=k1.accept()
ret=cn.recv(1024).decode('utf-8')
print(ret)
cn.close()
k1.close()
#client客户端文件client_.py:
# v1=socket.socket()
# v1.connect(('192.168.12.32', 8800))
# v1.send('你好'.encode('utf-8'))
# v1.close()
异常处理与网络基础中的tcp,udp协议的更多相关文章
- 计算机网络中的TCP/UDP协议到底是怎么回事(二)
上一篇博客阐述了TCP/IP五层网络结构模型以及一些关于TCP.UDP的基础知识,这篇博客会接着写一些关于TCP拥塞控制的算法以及对TCP中常有的疑问进行解答. TCP拥塞控制 首先了解几个概念,为下 ...
- 计算机网络中的TCP/UDP协议到底是怎么回事(一)
TCP/IP五层网络结构模型 物理层:物理层建立在物理通信介质的基础上,作为系统和通信介质的接口,用来实现数据链路实体间透明的比特 (bit) 流传输.只有该层为真实物理通信,其它各层为虚拟通信 数据 ...
- 网络基础篇(一)--TCP/IP协议族
TCP/IP协议族是一个分层,多协议通信体系. 1 TCP/IP协议族体系结构 TCP/IP协议族自底而上分为四层: 数据链路层, 网络层, 传输层和应用层. 1.1 数据链路层 实现网卡接口的网络驱 ...
- 网络编程—网络基础概览、socket,TCP/UDP协议
网络基础概览 socket概览 socket模块—TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网 ...
- 用java网络编程中的TCP方式上传文本文件及出现的小问题
自己今天刚学java网络编程中的TCP传输,要用TCP传输文件时,自己也是遇到了一些问题,抽空把它整理了一下,供自己以后参考使用. 首先在这个程序中,我用一个客户端,一个服务端,从客户端上传一个文本文 ...
- Android网络编程系列 一 TCP/IP协议族
在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...
- QQ--基于TCP/UDP协议的通讯原理
QQ是一个基于TCP/UDP协议的通讯软件 发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服 务器,只不过不是常用的那些,那个服务器是腾讯自行开发的! 一 ...
- TCP UDP 协议的选择
行业应用中TCP/IP传输协议和UDP协议的选择! 中国移动.中国联通推行的GPRS网络.CDMA网络已覆盖大量的区域,通过无线网络实现数据传输成为可 能.无线Modem采用GPRS.CDMA模块通过 ...
- TCP/UDP协议简要梳理
TCP/UDP协议简要梳理 TCP TCP,Transmission Control Protocol,传输控制协议是一种面向连接的.可靠的.基于字节流的传输层通信协议.在因特网协议族中,TCP所在的 ...
随机推荐
- Get Random number
, int pMaxVal = int.MaxValue) { int m = pMaxVal - pMinVal; int rnd = int.MinValue; decimal _base = ( ...
- 20190422 8个小时的T-SQL基础视频课件-分享
链接:https://pan.baidu.com/s/1YLjtU0Ymn0rI-KMF0DFehw 提取码:yeuw 我最近缺钱..... SQLSERVER 2016视频T-SQL(一) 路径:h ...
- Random-Forest-Python
1. 近期目标,实现随机森林进行点云分类 1)学习阶段: [干货]Kaggle 数据挖掘比赛经验分享 Kaggle Machine Learning Competition: Predicting T ...
- Oracle 12C执行root.sh CLSRSC-119 CRS-8503 CLSRSC-366
1.环境 OS:SUSE Linux Enterprise 12 SP3 X86_64 (Kernel: 4.4.162-94.69.2) DB:12.2.0.1 两节点RAC 参考文档:在 SLES ...
- 记AOP概念理解
OOD/OOP面向名词领域,AOP面向动词领域. 应用举例 假设有在一个应用系统中,有一个共享的数据必须被并发同时访问,首先,将这个数据封装在数据对象中,称为Data Class,同时,将有多个访问类 ...
- selenium--键盘事件
from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Fi ...
- 短信外部浏览器H5链接一键跳转微信打开任意站
今天讲讲微信跳转的那些事情,这项技术最早出现在在线广告上面,可以从外部引流到微信并打开微信内置浏览器然后打开一个指定的网页地址,在这个网页里面可以放任何想推广的内容,可以是引导文案.活动内容,或者是一 ...
- 7#Java基本语句语法
Java基本语句语法https://github.com/DuGuQiuBai/Java/blob/master/day03/day03%E6%80%BB%E7%BB%93.txt 1:位运算符(了解 ...
- 一个简单小技巧实现手机访问.html文件网页效果
注册登录Github不解释 settings设置往下拉 选择一个主题上传代码文件到code 打开这个文件选择此时的网址 在网址前面加上 这段代码 http://htmlpreview.github.i ...
- C++---使用VS在C++编程中出现 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?
啦啦啦,好久没写博客啦... 对于C++初学者来说适应一个新的编译器还是需要蛮长一段时间的,现在我就给你们说说标题所说的这个问题吧... 第一步:菜单--〉项目--〉设置,出现“项目设置”对话框,左边 ...