python -网络编程及Web应用(未写完)

网络编程

本质是让处于网络中的两个设备进行进程间的数据交换,网络是网络编程的基础。

网络体系结构通常有OSI、TCP/IP和五层模型三种,协议一般有TCP、UDP、IP协议三种。 TCP面向连接且可靠、UDP无连接速度快、IP连接不可靠。 还需要了解一些网络技术中和ip地址有关的部分

网络编程概述

当今网络编程一般采用请求响应方式。也就是C/S。

套接字socket

即socket,它是进程之间进行通信的方式,其本意为插座。python中有它涵盖的基本方法、函数和类等。同时它还包含了一个同名类,通过该类可以实例化一个socket对象。

_init_(self,family=<AddressFamily.AF_INET:2>,
	type=<SocketKind.SOCK_STREAM:1>,proto=0,fileno=None)

AF_INET-ipv4 AF_INET6-ipv6 AF_UNIX 单一的UNIX系统之间的通信

SOCK_STREAM:流式套接字,用于TCP SOCK_DGRAM:数据报式套接字,用于UDP SOCK_RAW:用于ICMPIGMP,或者用于构建ip头部

proto用于选择协议 fileno用于选择文件描述符

创建

import socket socket_tcp=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

通信流程

面向连接的

类似我们打电话,必须接通才能开始数据通信。

面向非连接的

类似我们收发邮件,接收方不用考虑联通。区别在于客户端不会发起所谓的连接请求而是直接用sendto函数向接收方发送数据。

socket内建方法

TCP并发服务器(涉及线程)

I/O多路转接服务器(select)

经验分享 程序员 微信小程序 职场和发展