python高级编程——网络编程(一)
计算机网络基础
概念:计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。网络编程就是如何在程序中实现两台计算机的通信。而网络编程就是开发计算机网络应用程序
计算机的通信协议
概念:计算机处理最多的东西就是数据,通信的话就是要传输数据,在传输数据的过程中需要遵循计算机通信协议(tcp/ip)
端口
分类:
物理端口:交换机、路由器、集线器的端口
逻辑端口:
tcp/ip协议端口,端口号的范围从0到65535
保留端口:http 80,ftp 20/21,telnet 23,smtp 25,dns 53,mysql 3306
动态端口:范围是从1024到65535
动态分配:当系统进程需要使用网络通信时,向主机申请一个端口,主机从可用的端口中分配 一个供它使用,当进程关闭时,同时释放所占用的端口
查看端口状态:netstat -an
ip地址
ip地址用来在网络中标记一台电脑的一串数字,比如192.168.1.1;在本地局 域网上是惟一的。
ip地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4 个字节)
ip地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是 0~255之间的十进制整数。
socket套接字
socket简介
本地的进程间通信(ipc)有很多种方式
管道、消息队列、共享内存、socket等
在本地可以通过进程pid来唯一标识一个进程,但是在网络中这是行不通的
socket是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:
它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 socket 来完成通信的
随着tcp/ip协议的流行,socket编程已经成为实现网络应用程序的基础。
socket通常也称作"套接字",用于描述ip地址和端口,是一个通信链的句柄,应用 程序通常通过"套接字"向网络发出请求或者应答网络请求
socket的创建和类别
python中使用socket模块的函数socket:
socket.socket(addressfamily, type)
socket.socket 创建并返回一个 socket对象
address family:可以选择 af_inet(用于 internet 进程间通信) 或者 af_unix( 用于同一台机器进程间通信),实际工作中常用af_inet
type:套接字类型,可以是 sock_stream(流式套接字,主要用于 tcp 协议)或者 sock_dgram(数据报套接字,主要用于 udp 协议)
创建 tcp socket
import socket s = socket.socket(socket.af_inet, socket.sock_stream)
创建 udp socket
import socket s = socket.socket(socket.af_inet, socket.sock_dgram)
上一篇: 详解linux命令useradd添加用户
下一篇: Java动态脚本Groovy
推荐阅读
-
linux网络编程用到的网络函数详解用和使用示例
-
python编程用什么软件开发(常用python编程软件)
-
Java编程的分期步骤(一)
-
PL/SQL编程经验小结开发者网络Oracle
-
Python中基础的socket编程实战攻略
-
详解Python编程中time模块的使用
-
python网络编程 使用UDP、TCP协议收发信息详解
-
Python编程中使用Pillow来处理图像的基础教程
-
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
-
python编程排除163邮箱发送邮件报错(AttributeError: ‘tuple‘ object has no attribute ‘encode‘)