一 C\S架构,客户端服务端架构
客户端(client) : 享受服务端提供的服务 服务端(server) : 给客户端提供服务 B\S 浏览器和服务端 B(browser)
二 网络通信的整个流程(硬件\名词)

   集线器:将咱们所有的插上集线器的电脑连通起来
交换机: 升级版集线器
网卡: 接收电信号,网络插口:插网线
mac地址(物理地址): 8C-EC-4B-87-99-D7 16进制的6个数表示,前三位厂商编号,后三位生产流水号
全球唯一的,相当于身份证 广播\单播 广播风暴:首先不安全,拥堵信息 IP地址: 192.168.15.113 四个点分十进制组成
192.168.15.0 -- 192.168.15.255 256 划分广播域
IPv4 :
IPv6 : 6个冒号分十六进制
IPv6 地址: fe80::48c3:8f81:8474:c7d0%2   
DHCP协议:自动分配IP地址

子网掩码:  255.255.255.0,
例外一个班的同学的IP地址为:192.168.14.12
192.168.14.12
255.255.255.0 11000000.10101000.00001110.00001100
11111111.11111111.11111111.00000000
11000000.10101000.00001110.00000000
192.168.14.0
计算是否属于同一网段
属于同一个网段的,我们成为属于同一子网 #powerdesigner 制图软件,processon
DNS服务器:域名:www.jd.com  -->ip地址  
路由器:管理网络,联通外网,并且路由转发,就是转发消息
路由协议:计算最优路径
网关:把关用的,公网IP,也可以说是路由器的IP地址
NAT:网络地址转换,将你局域网的IP地址转换为公网的IP地址,也就是网关的IP地址
局域网\内网
端口:电脑给你创建的标识电脑上的程序用的.
0-65535 ,0-1024 属于电脑内部的一些服务用的,千万别用,8000一般自己写程序的时候都不用. 三.初识socket
例:
服务端:
import socket
#创建了一个socket对象
server = socket.socket() #创建一个手机
ip_port = ('192.168.15.113',8001) #创建了一张电话卡
#绑定IP地址和端口
server.bind(ip_port) #插上电话卡
#监听IP地址和端口 server.listen() #开机
print(11111)
#等待客户端的链接
conn, addr = server.accept() #等着别人给我打电话,阻塞住 #接收消息
from_client_msg = conn.recv(1024) #1024为消息大小,单位B,MB = 1024KB,1KB = 1024B
#接收的消息是bytes类型,需要转换为字符串
from_client_msg = from_client_msg.decode('utf-8')
print(from_client_msg) conn.send('死鬼,十点'.encode('utf-8'))
#关闭链接
conn.close()
server.close() # print(conn)
# print('>>>>',addr)

客户端:

import socket
client = socket.socket() server_ip_port = ('192.168.15.113',8001) #链接服务端
client.connect(server_ip_port) #发消息
client.send('约吗'.encode('utf-8')) #send里面的消息必须是字节类型的 from_server_msg = client.recv(1024) #阻塞住,等待接收消息
from_server_msg = from_server_msg.decode('utf-8')
print(from_server_msg) client.close()

python 网络内容: 初识socket的更多相关文章

  1. Python网络编程之socket应用

    1 引言 本篇主要对Python下网络编程中用到的socket模块进行初步总结.首先从网络基础理论出发,介绍了TCP协议和UDP协议:然后总结了socket中的常用函数:最后通过实际代码展示基本函数的 ...

  2. python 网络编程:socket(二)

    上节地址:Python网络编程:socket 一.send和sendall区别 send,sendall         ret = send('safagsgdsegsdgew') #send 发送 ...

  3. day9学python 类+异常处理+初识socket

    类+异常处理+初识socket 类的特点: 1.封装-同其他语言 2.继承 py2 经典类深度优先 新式类类名(object)广度优先py3 都是广度优先 3.多态-python本身无多态 可用方法调 ...

  4. python学习笔记 - 初识socket

    socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...

  5. python 网络编程(Socket)

    # from wsgiref.simple_server import make_server## def RunServer(environ,start_response):# start_resp ...

  6. Python网络编程之Socket的简单实现

    一.引入 关于Python的网络编程,最基础莫过于socket了. socket,又称“套接字”,网络上的两个程序如果想要实现双向的数据通信,需要建立连接,这个连接的一端就称为一个socket. py ...

  7. python 网络编程:socket

    在学习socket之前,我们先复习下相关的网络知识. OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.OSI七层模型是由国际标准化组织ISO定义的网络的基本结构,不仅包括一 ...

  8. python网络编程之socket

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  9. Python网络编程之socket编程

    什么是Socket? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 ...

随机推荐

  1. s21day07 python笔记

    s21day07 python笔记 一.昨日内容回顾及补充 回顾 补充 将前面所提到的功能,统一改称为方法 二.深浅拷贝 基本格式 v1 = [1,2,3] import copy v2 = copy ...

  2. HDU 2062:Subset sequence(思维)

    Subset sequence Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...

  3. 公共表达式消除(UVa 12219)

    紫书354页的题,将表达式树进行公共表达式消除,化为等价的图.因为需要判断某一个是否出现过,所以需要快速比较,采用哈希表的形式,将a~b与1~27一一对应,不采用0,因为0与0000是相同的,对于每一 ...

  4. 网络ping不通原因总结

    1.检查主机是否在线,硬件是否连接好 2.查看ip地址是否输入正确 3.查看是否防火墙拦截,如果有拦截关闭防火墙 4.两台电脑是否接入同一局域网(WiFi也是)

  5. 使用vue自定义简单的消息提示框

    <style scoped> /** 弹窗动画*/ a { text-decoration: none } .drop-enter-active { /* 动画进入过程:0.5s */ t ...

  6. C++类中一个构造函数调用另一个构造函数

    class A { int a; int b; int c; public: A(int aa, int bb) : a(aa), b(bb),c(0) { cout << "a ...

  7. zombodb 几点说明

    内容来自官方文档,截取部分 默认es 索引的副本为0 这个参考可以通过修改索引,或者在创建的时候通过with 参数指定,或者通过pg 的配置文件中指定 索引更多的列以为这使用了更多的es 能力 索引的 ...

  8. 我发起了一个 操作系统 GUI 和 Tcp / IP 包 的 开源项目 DeviceOS

    操作系统 如果 不需要 处理 复杂多样 的 硬件 兼容性, 其实 并不算 大项目, 可以算 毕业设计 . 但是, GUI 和 Tcp / IP  这两个 部分 的 实现逻辑 很多 很复杂,  这  2 ...

  9. keepalive实现MGR的自动切换(二)

    10.0.0.7 lemon 10.0.0.8 lemon2 10.0.0.9 lemon3   程序代码里只需写一个VIP连接数据库即可,后面是连接在哪一台通过,keepalived的在服务端实现: ...

  10. 18.3 #define DM9000_DBG(fmt,args...) printf(fmt, ##args)代表什么

    标准C支持可变参数的函数,意味着函数的参数是不固定的,例如printf()函数的原型为:int printf( const char *format [, argument]... ) 而在GNU C ...