Python--网络编程学习笔记系列01 附实战:udp聊天器
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聊天器的更多相关文章
- Python--网络编程学习笔记系列02 附:tcp服务端,tcp客户端
Python--网络编程学习笔记系列02 TCP和UDP的概述: udp通信模型类似于写信,不需要建立相关链接,只需要发送数据即可(现在几乎不用:不稳定,不安全) tcp通信模型类似于打电话,一定要建 ...
- python网络编程学习笔记(三):socket网络服务器(转载)
1.TCP连接的建立方法 客户端在建立一个TCP连接时一般需要两步,而服务器的这个过程需要四步,具体见下面的比较. 步骤 TCP客户端 TCP服务器 第一步 建立socket对象 建立socket对 ...
- python网络编程学习笔记(10):webpy框架
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi django和webpy都是python的web开发框架.Django的主要目的是简便.快速的开发数据库驱动的网站. ...
- python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
- 转 网络编程学习笔记一:Socket编程
题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人:但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有 ...
- Linux Shell编程学习笔记——目录(附笔记资源下载)
LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...
- python网络编程学习《一》
最近,刚实习完,很喜欢实验楼,但是自己的方向仍然不能确定,自己觉得可选择的空间很大,尽管已经是大四的人了,想到别人都在忙着买职业装,买高跟鞋面试,学习化妆什么的,看看自己,反而开始慢慢关注运动,食疗以 ...
- python网络爬虫学习笔记(一)Request库
一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个 ...
- Java Socket网络编程学习笔记(一)
0.前言 其实大概半年前就已经看过网络编程Socket的知识了(传统IO),但是因为长时间的不使用导致忘的一干二净,最近正好准备校招,又重新看了网络编程这一章, 是传统IO(BIO)相关的内容,故在此 ...
随机推荐
- 最大连续子序列(简单DP实现)
最大连续子序列 最大连续子数列和一道很经典的算法问题,给定一个数列,其中可能有正数也可能有负数,我们的任务是找出其中连续的一个子数列(不允许空序列),使它们的和尽可能大.我们一起用多种方式,逐步优化解 ...
- 随机存取文件流--RandomAccessFile
* RandomAccessFile的使用* 1.RandomAccessFile直接维承于java.Lang.Object类,实现了DataInputDataOutput接口* 2.RandomAc ...
- KingbaseES 如何实现Oracle pipelined 功能
管道函数即是可以返回行集合(可以使嵌套表nested table 或数组 varray)的函数,我们可以像查询物理表一样查询它或者将其赋值给集合变量.KingbaseES 数据库可以用 setof 实 ...
- token总结
token 总结 1. token 和SessionID 的区别 Token机制相对于Cookie机制又有什么好处呢? 支持跨域访问: Cookie是不允许垮域访问的,这一点对Token机制是不存在的 ...
- 【Android 逆向】手动构造dex文件
public class Hello { public static void main(String[] args) { System.out.println("hello android ...
- Karmada v1.3:更优雅 更精准 更高效
摘要:最新发布的1.3版本中,Karmada重新设计了应用跨集群故障迁移功能,实现了基于污点的故障驱逐机制,并提供平滑的故障迁移过程,可以有效保障服务迁移过程的连续性(不断服). 本文分享自华为云社区 ...
- 洛谷P7112 行列式求值
行列式求值 这是一个让你掉头发的模板题 行列式的定义 行列式 (\(\texttt{Determinant}\)) 是一个函数定义,取值是一个标量. 对一个 \(n\times n\) 的矩阵 \(A ...
- 输入法词库解析(二)搜狗拼音细胞词库.scel(.qcel)
详细代码:https://github.com/cxcn/dtool 前言 .scel 是搜狗拼音输入法所使用的细胞词库格式,可以在 https://pinyin.sogou.com/dict/ 下载 ...
- vscode-jupyter快捷键
运行本单元 ctrl + enter 运行本单元,新建一个单元 shift + enter 运行本单元,在其下方新建一个单元 alt + enter 在上方插入一个新单元 a 在下方插入新单元 b 复 ...
- 配置Pod的 /etc/hosts
某些情况下,DNS 或者其他的域名解析方法可能不太适用,您需要配置 /etc/hosts 文件,在Linux下是比较容易做到的,在 Kubernetes 中,可以通过 Pod 定义中的 hostAli ...