socket简介
1. 不同电脑上的进程之间如何通信
⾸要解决的问题是如何唯⼀标识⼀个进程,否则通信⽆从谈起!
在1台电脑上可以通过进程号(PID)来唯⼀标识⼀个进程,但是在⽹络中这是⾏不通的。
其实TCP/IP协议族已经帮我们解决了这个问题,⽹络层的“ip地址”可以唯⼀标识⽹络中的
主机,⽽传输层的“协议+端⼝”可以唯⼀标识主机中的应⽤进程(进程)。
这样利⽤ip地址,协议,端⼝就可以标识⽹络的进程了,⽹络中的进程通信就可以利⽤这
个标志与其它进程进⾏交互
注意:
- 所谓 进程 指的是:运⾏的程序以及运⾏时⽤到的资源这个整体称之为进程(在讲解多任务编程时进⾏详细讲解)
- 所谓 进程间通信 指的是:运⾏的程序之间的数据共享
2. 什么是socket
socket(简称 套接字 ) 是进程间通信的⼀种⽅式,它与其他进程间通信的⼀个主要不同
是:它能实现不同主机间的进程间通信,我们⽹络上各种各样的服务⼤多都是基于 Socket 来
完成通信的
例如我们每天浏览⽹⻚、QQ 聊天、收发 email 等等
3. 创建socket
在 Python 中 使⽤socket 模块的函数 socket 就可以完成:
import socket
socket.socket(AddressFamily, Type)
说明:
函数 socket.socket 创建⼀个 socket,该函数带有两个参数:
- Address Family:可以选择 AF_INET(⽤于 Internet 进程间通信) 或者AF_UNIX(⽤于同⼀台机器进程间通信),实际⼯作中常⽤AF_INET
- Type:套接字类型,可以是 SOCK_STREAM(流式套接字,主要⽤于 TCP 协议)或者