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