python网络编程
1、网络编程:from socket import *
2、创建UDP服务器
from socket import * #1、创建套接字 udpsocket=socket(AF_INET,SOCK_DGRAM) #2、绑定服务器IP跟port bindaddr={'IP地址','8080'} udpsocket.bind(bindaddr) #3、接受数据 while True: recvData=udpsocket.recvfrom(1024) print(recvData[0].decode("gb2312")) #4、关闭套接字 udpsocket.close()
3、创建UDP客户端
from socket import * #1、创建套接字 udpsocket=socket(AF_INET,SOCK_DGRAM) #2、准备接收方地址 bindaddr={'',9090} udpsocket.bind(bindaddr) sendAddr={'IP地址','8080'} #3、从键盘获取数据 sendData=raw_input("请输入要发送数据:") #4、发送数据到指定电脑 udpsocket.sendto(sendData.encode("gb2312"),sendAddr) recvData=udpsocket.recvfrom(1024) print(recvData[0].decode("gb2312")) print(recvData[1][0].decode("gb2312")) print(recvData[1][1]) #5、关闭套接字 udpsocket.close()
4、传输层的“协议+端口”可以唯一标志主机中应用程序(进程);网络层的IP地址可以唯一标志主机
5、套接字:实现网络间不同主机应用程序的通信
6、服务器:提供服务;客户端:发出请求,请求服务
常见的架构有C/S(Client/Server)(客户机/服务器)和B/S(Browser/Server)Browser/Server(浏览器/服务器)架构。
7、UDP跟TCP的区别:
UDP(用户数据报协议),一个无连接的简单的面向数据报的传输层协议,TFTP(简单文件传输协议)就是基于UDP实现的。
特点是:通信时不需要建立连接,可实现广播传输,不提供可靠性,即不保证目的地址能收到数据,且没有超时重传机制,传输数据时有大小限制,每个数据报在64kb以内
优点是:传输速度快
适用情况:多点通信和实时的数据业务,如:视频,QQ,语音广播,局域网中的视频会议系统,保证连贯性和速度即可。
TCP(传输控制协议),提供面向连接的、可靠的字节流服务。
特点是:clien和server交换数据前必须先建立可靠的连接(三次握手),提供超时重发,校验数据等,保证数据能传到目的地址。
适用情况:点对点通信。
8、单播:点对点 多播:一对多 广播:一对所有,广播地址的最后一位为255
9、OSI模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
四层网络模型:应用层(应用进程),传输层(UDP,TCP),网络层(IP, ICMP,IGMP, ARP,RARP),链路层(网络接口,负责报文传输)
浙公网安备 33010602011771号