网络通信

网络通信需要啥? OSI参考模型是啥? socket:

  1. 物理层
  2. 数据链路层、MAC地址
  3. 网络层、 IP地址,好了两台机器能找到了,能连上
  4. 传输层、发数据,传数据,当然ICMP在网络层,它只是发送个ping包,三次握手
  5. 会话层
  6. 表示层
  7. 应用层

我们在开发过程中通常不需要关心怎么握手、怎么链接,这些功能已做好封装。socket

socket 是什么? 实例:

 import socket
client = socket.socket() # 声明socket类型,同时生成连接对象
client.connect(("localhost", 6969)) # 连接
client.send(b"Hello Word!") # 发数据
data = client.recv(1024) # 收数据
print("recv:", data)
client.close() import socket
server = socket.socket()
server.bind(('localhost', 6969)) # 绑定要监听的端口
server.listen() # 监听
print("我开始等电话了...")
# server.accept() # 等电话打进来
conn, addr = server.accept() # 这返回两个值conn是进来的连接,addr对方的地址
# conn 就是客户端连过来而在服务器端为其生成的一个连接实例
print(conn,addr)
print("电话来了")
data = server.recv(1024) # 接收数据
print("SERVER:recv, ", data.upper())
server.send(b"goodbye")
server.close()

Python学习记录之----网络通信(一)的更多相关文章

  1. Python学习记录之----网络通信(二)

    网络通信   socket 这一节太难了,还是看TA的吧 http://www.cnblogs.com/alex3714/articles/5830365.html 不能执行top等类似的 会持续输出 ...

  2. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  3. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  4. Python学习记录day8

    目录 Python学习记录day8 1. 静态方法 2. 类方法 3. 属性方法 4. 类的特殊成员方法 4.1 __doc__表示类的描述信息 4.2 __module__ 和 __class__ ...

  5. Python学习记录day7

    目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...

  6. Python学习记录:括号配对检测问题

    Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...

  7. 实验楼Python学习记录_挑战字符串操作

    自我学习记录 Python3 挑战实验 -- 字符串操作 目标 在/home/shiyanlou/Code创建一个 名为 FindDigits.py 的Python 脚本,请读取一串字符串并且把其中所 ...

  8. 我的Python学习记录

    Python日期时间处理:time模块.datetime模块 Python提供了两个标准日期时间处理模块:--time.datetime模块. 那么,这两个模块的功能有什么相同和共同之处呢? 一般来说 ...

  9. Python 学习记录

    记录一些 学习python 的过程 -------------------------------------- 1. 初始学习 @2013年10月6日 今天开始学习python 了 遇到好多困难但是 ...

随机推荐

  1. redis安装详解

    一.redis安装步骤: 1.首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0.7即可.2.通过远程管理工具,将压缩包拷贝到Linux服务器中 ...

  2. python server

    #!/usr/bin/env python #coding=utf-8 # modifyDate: 20120808 ~ 20120810 # 原作者为:bones7456, http://li2z. ...

  3. 浏览器的cookie的值改成字典格式

    首先我们把复制的cookie的值赋给b >>> cookies = 'bid=Qzw9cKnyESM; ll="108288"; __yadk_uid=4YChv ...

  4. centos安装Django之四:安装Django

    前面我们学会了centos安装Django之一:安装openssl和centos安装Django之二:pip3安装,centos安装Django之三:安装python,现在我们就可以安装Django了 ...

  5. RN无限轮播以及ScrollView的大小调节问题

    如果你的ScrollView的大小是全屏,height不能用,这种情况需要给ScrollView添加一个容器View,然后调节容器View的大小 无限轮播这里我使用的是一个第三方的插件react-na ...

  6. Java基础知识(JAVA基本数据类型包装类)

    基本数据类型的包装类 为什么需要包装类? Java并不是纯面向对象的语言.Java语言是一个面向对象的语言,但是Java的基本数据类型却不是面向对象的.但是我们在实际使用中经常需要将基本数据转化成对象 ...

  7. windows media player 官方修复工具下载及修复方法

    http://download.microsoft.com/download/E/2/3/E237A32D-E0A9-4863-B864-9E820C1C6F9A/MicrosoftFixit.Win ...

  8. python认知及六大标准数据类型

    --- typora-root-url: assets --- ### -python的认知 ``` 89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido). ...

  9. Spark算子之aggregateByKey详解

    一.基本介绍 rdd.aggregateByKey(3, seqFunc, combFunc) 其中第一个函数是初始值 3代表每次分完组之后的每个组的初始值. seqFunc代表combine的聚合逻 ...

  10. Linux命令:tar命令批量解压方法总结

    tar命令批量解压方法总结 (2010-05-24 17:48:46) 转载▼ 标签: tar 批量解压 杂谈 分类: linux学习 由于linux的tar命令不支持批量解压,所以很多网友编写了好多 ...