socket
socket 编程接口 API 是对Tcp / Ip 协议的封装 面向客户服务器模型出现
客户端通过socket发送请求给服务器 服务器接到请求再返回数据
UDP 速度快,安全性不高
TCP 速度慢,安全,稳定
UDP 和 TCP 都是TCP/IP协议簇里传输层的协议
UDP 不建立联系也不确定对方是否接受 用于多点通信和实时的通信业务 传递速度块 写信 发送方
TCP 面向连接的协议 与对方建立连接 三次对话才能建立联系 保证接受信息的顺序
#import socket
#s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)#
socket.AF_INET IPV4协议 socket.SOCK_STRESAM 是TCP传输 SOCK_DGRAM–UDP传输
#from socket import *发送飞秋数据
#s = socket(AF_INET,SOCK_DGRAM)
#s.sendto(“1:123:王二:主机名:32:哈喽”.encode(“gb2312”),(“192.168.2.126”,2425))
from socket import *
s = socket(AF_INET,SOCK_DGRAM)
s.sendto(“wowo”.encode(“GB2312”),(“192.168.2.126”,8080)) 发送数据 ip地址,端口
s.recvfrom(1024) 接受数据程序会阻塞等待接收,1024是最大接收字节数 2048
from socket import * #导入socket模块
s = socket(AF_INET,SOCK_DGRAM)#创建一个套接字对象
s.bind("",8081)#作为数据的接收方要绑定端口 客户和服务器 服务器接收请求需要绑定地址
addr = (“192.168.2.126”,8080)#发送的地址和端口
text = input(“请输入发送内容:”)#输入发送内容
s.sendto(text.encode(“gb2312”),addr)#并将字符串转成字节流
date = s.recvfrom(1024)#接收数据 及最大字节数 程序会等待接收
print(date[0].decode(“gb2312”))#接收到数据为元祖,前面是接收到数据字节流并将其转为字符串
s.close()#关闭程序
**
子网掩码
**
子网掩码作用:把一个IP地址划分成网络地址和主机地址 标识哪一部分是主机号和网络号
例如 C类的ip 192.168.1.1 与 子网掩码 255.255.255.0 是一一对应的
b类的 255.255.0.0 主机号两位
子网掩码独自出现没有任何意义,只有与ip地址一起出现时才有标识网络号和主机号作用
端口号:用来标记区分进程
知名端口 0 -1023 做特定任务的 动态端口-1024-65535
80端口默认分配给http 21分配给ftp文件传输 端口号如房间号
Tcp/Ip协议定义了电子设备如何连入互联网和如何传输的一中标准
网络接口层 实际的网络媒体的管理 定义如何使用网络传输数据 机械的电器接口
网络层 基本的数据包传送服务 达到目的
传输层 节点之间数据传送服务 确定h
应用层:应用程序沟通的层 不同的文件系统有不同的命名原则 不同的文本表示方法 不同文件不兼容问题由应用层处理
socket : 通过网络完成进程间的通信 网络通信
应用层封装好数据往下传递到另一个电脑向上逐层解析