Python--网络编程学习系列笔记01

网络编程基本目标:

    不同的电脑上的软件能够实现数据传输

网络编程基础知识:

    IP地址:
      用来在网络中标记一台电脑

       网络号+主机号(按网络号和主机号占位分类A,B,C, D(多点广播以1110开始,), E)
         查看自己的IP:
       windows系统:ipconfig
      mac,Linux等系统:ifconfig (up/down 网卡名,开启关闭对应网卡)
    IP地址的分类:

       ipv4(ip version 4):192.168.1.1(256**4,每组都在0-255之间)

      ipv6(ip version 6):fe70::3422:1324:2343:2342%44

       ipv5  (ip version 5):  用于实验室研究

   

    端口(port):

          类似IP地址,标记电脑上运行的软件

    查看端口:netstat-an

    端口的分类:

    Linux中端口2**16=65536之多,因此操作系统为了管理进行了编号即端口号(只有整数0-65536之间)

      知名端口:(well known ports)(0-1023)

          80端口:分配http服务()万维网服务
          21端口:FTP服务(ftp文件传输)
          SMTP:电子邮件服务

      动态端口:(1024-65535)

          主机分配给系统应用或软件使用

IP地址+协议+端口 就可以标识网络的进程,网络中的进程通信就可以利用这个标志与其他进程交互

  socket(简称:套接字)
    简介:socket是进程之间一种通信方式
         在Python中使用socket模块的函数socket就可以完成
    注意:socket.socket函数创建socket时带有两个参数
      一:Address Family(AF_INET--Internet进程间通信或AF_UNIX--同一台机器间通讯)
         二:Type(套接字类型,可以是SOCK_STREAM--流式套接字主要用于TCP协议,或者SOCK_DGRAM--数据报套接字主要用于UDP协议)

聊天室实现第一步:

    发送消息

聊天室实现第二步

    如何接收消息

实战: udp聊天室完整代码实现

最新文章

  1. Sublime Text 3 中文乱码的解决方法
  2. lua日期与时间操作
  3. Python之ftplib模块
  4. 1 Spring MVC 原理
  5. JAVA设计模式之解释器模式
  6. Android --资料集合
  7. jquery获取对象
  8. JS全局屏蔽回车事件
  9. iOS5.1下emoji表情显示方框的解决办法
  10. ajax jsonp跨域
  11. IIS Express允许外部访问(外部调试)
  12. 一篇完整的FlexBox布局指南
  13. Asp.Net MVC 之 Autofac 初步使用1
  14. [收藏] Java源码阅读的真实体会
  15. Elasticsearch学习笔记一
  16. PAT Basic 1012
  17. 使用jdk的keytool 生成CA证书的方法
  18. 结对编程--四则运算(Java)梅进鹏 欧思良
  19. python命令行中import caffe报错的解决方案
  20. JaveScript初学-基础语法

热门文章

  1. 对于Java中的Loop或For-each,哪个更快
  2. MySQL查询性能优化七种武器之链路追踪
  3. 使springAOP生效不一定要加@EnableAspectJAutoProxy注解
  4. Python自动化测试之文件操作
  5. iOS白嫖系列Testflight
  6. ELK套件部署
  7. vscode主题开发
  8. [Python]-pdb模块-单步调试
  9. 我的Vue之旅、02 ES6基础、模块、路径、IO
  10. G&GH01 注册/安装/设置