python_网络编程_基础
基本的架构有C/S架构
和B/S架构
B/S架构优于C/S架构? 因为统一入口 , 都是从浏览器开始访问
两台电脑实现通信, 需要网卡, 网卡上有全球唯一的mac地址
ARP协议
#通过ip地址就能找到对应的mac地址
多台电脑相连的问题: 交换机
如何通信:
广播:告诉所有人的过程---->广播
确定的电脑进行回复 ----> 单播
网关:
局域网的机器想要访问局域网之外的机器, 需要网关
#子网掩码和IP地址
判断两台电脑是否在同一个局域网内
#通过端口来找程序:
#在计算机每一个网络通信的程序在同一时间占用一个端口, 不可能在同一时间, 有两个程序, 占用同一个端口
端口的范围是0-65535 一般是8000之后的端口, 前面是系统的
#IP+端口 唯一确定一个程序 IP+端口找到唯一的机器的唯一的程序
TCP/UDP协议 TCP协议是可靠的 面向连接的运输信息是全双工的
UDP协议是不可靠的, 无连接的
TCP 类似于打电话
UDP类似于发短信
TCP协议;连接的时候, 三次握手,
断开的时候, 四次挥手
计算机网络分层:
应用层
传输层
网络层
数据链路层
物理层
服务器:
import socket sk = socket.socket()
sk.bind(('127.0.0.1', 9000))
sk.listen() conn,addr = sk.accept()
ret = conn.recv(1024)
conn.send(b"hello")
ret = conn.recv(1024)
print(ret.decode("utf-8"))
conn.close()
sk.close() 代理:
import socket
sk = socket.socket()
sk.connect(('127.0.0.1', 9000)) sk.send(b"hi")
ret = sk.recv(1024)
sk.send("你吃饭了吗?", encod="utf-8")
print(ret)
sk.close()
加强版server:
import socket
sk = socket.socket()
sk.connect(('127.0.0.1', 9000))
while True:
msg = input(">>>")
sk.send(msg.encode("utf-8")) ret = sk.recv(1024)
if ret == 'bye':
break
print(ret.decode("utf-8"))
sk.close()
加强版client:
import socket sk = socket.socket()
sk.bind(('127.0.0.1', 9000))
sk.listen() conn,addr = sk.accept()
while True: mag = conn.recv(1024)
if mag == 'bye':
conn.send(b'bye')
break
print(mag.decode("utf-8"))
info = input(">>>")
conn.send(info.encode("utf-8")) conn.close()
sk.close()
python_网络编程_基础的更多相关文章
- Python_网络编程_socket()
什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. 详细资 ...
- python六十七课——网络编程(基础知识了解)
网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...
- java第九节 网络编程的基础知识
/** * * 网络编程的基础知识 * 网络协议与TCP/IP * IP地址和Port(端口号) * 本地回路的IP地址:127.0.0.1 * 端口号的范围为0-65535之间,0-1023之间的端 ...
- python网络编程——socket基础篇
python的网络编程比c语言简单许多, 封装许多底层的实现细节, 方便程序员使用的同时, 也使程序员比较难了解一些底层的东西. 1 TCP/IP 要想理解socket,首先得熟悉一下TCP/IP协议 ...
- 01网络编程(基础知识+OSI七层协议+TCP与UDP)
目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...
- TCP/UDP网络编程的基础知识与基本示例(windows和Linux)
一.TCP编程的一般步骤 服务器端: 1.创建一个socket,用函数socket() 2.绑定IP地址.端口等信息到socket上,用函数bind() 3.开启监听,用函数listen() 4.接收 ...
- Unix网络编程_卷1卷2
1. UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API PDFhttp://www.linuxidc.com/Linux/2014-04/100155.htm UNIX网 ...
- [19/04/13-星期六] 网络编程_基本概念(关注传输层、数据传输,TCP和UDP)
一.概念 ▪ 什么是计算机网络? 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统, 网络管理软件及网络通信协议的管理和协调下,实现资源共享和信 ...
- Python网络编程_抓取百度首页代码(注释详细)
1 #coding=utf-8 2 #网络编程 3 4 #客户端建立socket套接字 5 #引入socket模块 6 import socket 7 #实例化一个套接字,2个参数分别是: IPV4. ...
随机推荐
- 窗口看门狗 WWDG
一,窗口看门狗 二,喂狗注意事项 三,程序设计 1.检查复位状态,有助于观察当前工作的可靠性 /* Check if the system has resumed from WWDG reset ,检 ...
- ST表 「 从入门到入门 · 浅显理解 」
ST 表是个好东西,虽然前些天 ldq 学长已经讲完啦,但是那天他讲了那么多,让智商受限的我完全没有全部接受,选择性的扔掉了一部分(其实不舍的扔,记不住QAQ). ST 表最简单的应用就是查询区间最大 ...
- spark源码之SparkContext
SparkContext可以说是Spark应用的发动机引擎,Spark Drive的初始化围绕这SparkContext的初始化. SparkContext总览 sparkcontxt的主要组成部分 ...
- 接口测试命令Httpie的使用
相比于curl命令,Httpie提供更清晰友好的界面,并支持授权,代理等操作 主要特性 直观的语法 格式化和色彩化的终端输出 内置 JSON 支持 支持上传表单和文件 HTTPS.代理和认证 任意请求 ...
- SSO单点登录实例
单点登录流程图 系统登陆拦截器 // // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernf ...
- Arts打卡第8周
Algorithm.主要是为了编程训练和学习. 每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard). 进行编程训练,如果不训练你看再多的算法书,你依然不 ...
- Synchronized 有几种用法
我们都知道 Synchronized 是线程安全同步用的,大部分程序可能只会用到同步方法上面.其实 Synchronized 可以用到更多的场合,栈长列举了以下几个用法. 1.同步普通方法 这个也是我 ...
- OpenJudge计算概论-取石子游戏
OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...
- <javaScript>document.body为null的问题
虽然body是JS中的DOM技术中所有浏览器支持的属性,但在我们的代码编写中,还是会碰到document.is null问题 例如:我们可以使用alert(document.body);的时候,就会提 ...
- PHPStorm_CI3框架代码提示
链接:https://pan.baidu.com/s/12lpkjRXod5yZINqcF6S6og 密码:t6if