socket简介

socket简介

1. socket的作用

  • 所谓进程指的是:运行的程序以及运行时用到的资源这个整体称之为进程(在讲解多任务编程时进行详细讲解)

  • 所谓进程间通信指的是:运行的程序之间的实现数据共享和传递

socket(简称 套接字) 是最通用的进程间通信的一种方式,它与其他进程间通信的一个主要不同是:

它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的

例如我们每天浏览网页、QQ 聊天、收发 email 等等

2. 什么是socket

  • 原意:插孔/插座,中文翻译为套接字
  • 通信前提: 完成通信需要一对套接字(socket),网络通信的一端称为一个socket

  • 本质: 对底层网络协议TCP/IP的封装 并且提供了一套应用程序接口(API)

学习socket编程的目的就是用这一套函数接口为我们的应用开发服务。

3. 创建socket

在 Python 中 使用socket 模块的函数 socket 就可以完成:

import socket
socket.socket(AddressFamily, Type)

说明:

函数 socket.socket 创建一个 socket,该函数带有两个参数:

  • Address Family:可以选择 AF_INET(用于 Internet 进程间通信 表示IPv4协议) 或者 AF_INET6(表示IPv6协议 未来很快可能用上) 等

  • Type:套接字类型,可以是 SOCK_DGRAM(数据报套接字,主要用于 UDP 协议)或者 SOCK_STREAM(流式套接字,主要用于 TCP 协议)等

  • UDP和TCP是两种比较常见的套接字类型 UDP使用比较简单。

创建一个udp socket(udp套接字)

import socket

# 创建udp的套接字
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# ...这里是使用套接字的功能(省略)...

# 不用的时候,关闭套接字
s.close()

创建一个tcp socket(tcp套接字)

import socket

# 创建tcp的套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# ...这里是使用套接字的功能(省略)...

# 不用的时候,关闭套接字
s.close()
说明
  • 套接字使用流程 与 文件的使用流程很类似
    1. 创建套接字
    2. 使用套接字收/发数据
    3. 关闭套接字

你可能感兴趣的:(socket简介)