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聊天室完整代码实现

Python--网络编程学习笔记系列01 附实战:udp聊天器的更多相关文章

  1. Python--网络编程学习笔记系列02 附:tcp服务端,tcp客户端

    Python--网络编程学习笔记系列02 TCP和UDP的概述: udp通信模型类似于写信,不需要建立相关链接,只需要发送数据即可(现在几乎不用:不稳定,不安全) tcp通信模型类似于打电话,一定要建 ...

  2. python网络编程学习笔记(三):socket网络服务器(转载)

    1.TCP连接的建立方法 客户端在建立一个TCP连接时一般需要两步,而服务器的这个过程需要四步,具体见下面的比较. 步骤 TCP客户端 TCP服务器 第一步 建立socket对象  建立socket对 ...

  3. python网络编程学习笔记(10):webpy框架

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyi django和webpy都是python的web开发框架.Django的主要目的是简便.快速的开发数据库驱动的网站. ...

  4. python网络爬虫学习笔记

    python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...

  5. 转 网络编程学习笔记一:Socket编程

    题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人:但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有 ...

  6. Linux Shell编程学习笔记——目录(附笔记资源下载)

    LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...

  7. python网络编程学习《一》

    最近,刚实习完,很喜欢实验楼,但是自己的方向仍然不能确定,自己觉得可选择的空间很大,尽管已经是大四的人了,想到别人都在忙着买职业装,买高跟鞋面试,学习化妆什么的,看看自己,反而开始慢慢关注运动,食疗以 ...

  8. python网络爬虫学习笔记(一)Request库

    一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个 ...

  9. Java Socket网络编程学习笔记(一)

    0.前言 其实大概半年前就已经看过网络编程Socket的知识了(传统IO),但是因为长时间的不使用导致忘的一干二净,最近正好准备校招,又重新看了网络编程这一章, 是传统IO(BIO)相关的内容,故在此 ...

随机推荐

  1. 最大连续子序列(简单DP实现)

    最大连续子序列 最大连续子数列和一道很经典的算法问题,给定一个数列,其中可能有正数也可能有负数,我们的任务是找出其中连续的一个子数列(不允许空序列),使它们的和尽可能大.我们一起用多种方式,逐步优化解 ...

  2. 随机存取文件流--RandomAccessFile

    * RandomAccessFile的使用* 1.RandomAccessFile直接维承于java.Lang.Object类,实现了DataInputDataOutput接口* 2.RandomAc ...

  3. KingbaseES 如何实现Oracle pipelined 功能

    管道函数即是可以返回行集合(可以使嵌套表nested table 或数组 varray)的函数,我们可以像查询物理表一样查询它或者将其赋值给集合变量.KingbaseES 数据库可以用 setof 实 ...

  4. token总结

    token 总结 1. token 和SessionID 的区别 Token机制相对于Cookie机制又有什么好处呢? 支持跨域访问: Cookie是不允许垮域访问的,这一点对Token机制是不存在的 ...

  5. 【Android 逆向】手动构造dex文件

    public class Hello { public static void main(String[] args) { System.out.println("hello android ...

  6. Karmada v1.3:更优雅 更精准 更高效

    摘要:最新发布的1.3版本中,Karmada重新设计了应用跨集群故障迁移功能,实现了基于污点的故障驱逐机制,并提供平滑的故障迁移过程,可以有效保障服务迁移过程的连续性(不断服). 本文分享自华为云社区 ...

  7. 洛谷P7112 行列式求值

    行列式求值 这是一个让你掉头发的模板题 行列式的定义 行列式 (\(\texttt{Determinant}\)) 是一个函数定义,取值是一个标量. 对一个 \(n\times n\) 的矩阵 \(A ...

  8. 输入法词库解析(二)搜狗拼音细胞词库.scel(.qcel)

    详细代码:https://github.com/cxcn/dtool 前言 .scel 是搜狗拼音输入法所使用的细胞词库格式,可以在 https://pinyin.sogou.com/dict/ 下载 ...

  9. vscode-jupyter快捷键

    运行本单元 ctrl + enter 运行本单元,新建一个单元 shift + enter 运行本单元,在其下方新建一个单元 alt + enter 在上方插入一个新单元 a 在下方插入新单元 b 复 ...

  10. 配置Pod的 /etc/hosts

    某些情况下,DNS 或者其他的域名解析方法可能不太适用,您需要配置 /etc/hosts 文件,在Linux下是比较容易做到的,在 Kubernetes 中,可以通过 Pod 定义中的 hostAli ...