python基础教程:Python 网络编程

Python网络编程步骤 python网络编程步骤、傻瓜版本、只用换参数就能运行 阅读详情

Python 提供了两个级别访问的网络服务。:
低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。
高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。
什么是 Socket?
Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。
socket()函数
Python 中,我们用 socket()函数来创建套接字,语法格式如下:

socket.socket([family[, type[, proto]]])

参数
family: 套接字家族可以使AF_UNIX或者AF_INET
type: 套接字类型可以根据是面向连接的还是非连接分为SOCK_STREAM或SOCK_DGRAM
protocol: 一般不填默认为0.
Socket 对象(内建)方法
在这里插入图片描述
在这里插入图片描述
简单实例
服务端
我们使用 socket 模块的 socket 函数来创建一个 socket 对象。socket 对象可以通过调用其他函数来设置一个 socket 服务。

现在我们可以通过调用 bind(hostname, port) 函数来指定服务的 port(端口)。

接着,我们调用 socket 对象的 accept 方法。该方法等待客户端的连接,并返回 connection 对象,表示已连接到客户端。

完整代码如下:
实例

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:server.py
 
import socket               # 导入 socket 模块
 
s = socket.socket()         # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345                # 设置端口
s.bind((host, port))        # 绑定端口
 
s.listen(5)                 # 等待客户端连接
while True:
    c,addr = s.accept()     # 建立客户端连接
    print '连接地址:', addr
    c.send('欢迎访问菜鸟教程!')
    c.close()                # 关闭连接

客户端
接下来我们写一个简单的客户端实例连接到以上创建的服务。端口号为 12345。

socket.connect(hosname, port ) 方法打开一个 TCP 连接到主机为 hostname 端口为 port 的服务商。连接后我们就可以从服务端获取数据,记住,操作完成后需要关闭连接。

完整代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:client.py
 
import socket               # 导入 socket 模块
 
s = socket.socket()         # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345                # 设置端口号
 
s.connect((host, port))
print s.recv(1024)
s.close()

现在我们打开两个终端,第一个终端执行 server.py 文件:

$ python server.py

第二个终端执行 client.py 文件:

$ python client.py 
欢迎访问菜鸟教程!

这时我们再打开第一个终端,就会看到有以下信息输出:

连接地址: ('192.168.0.118', 62461)

Python Internet 模块
以下列出了 Python 网络编程的一些重要模块:
在这里插入图片描述

python 学习笔记】深入解析 Python Socket 创建:`socket.socket(socket.AF_INET, socket.SOCK_STREAM)` 始终使用常量# 推荐 ✅# 避免 ❌考虑未来兼容# 显式导入常量协议选择原则A[选择协议] --> B{需要可靠传输?B -->|是| C[TCP/SOCK_STREAM]B -->|否| D{需要低延迟?D -->|是| E[UDP/SOCK_DGRAM]D -->|否| F{需要网络层访问?F -->|是| G[原始套接字]终极口诀地址家族定协议,套接类型决传输常量使用保清晰,组合匹配要合规。 阅读详情

相关推荐

python实现socket简单通信

python实现socket简单通信 首先先来简单介绍下socket: (具体更详细介绍的可以在网上找找,都讲得非常详细),这里主要是我自己的一些理解。 socket是在应用层与传输层之间的一个抽象层,它的本质是编程接口,通过socket,才能实现TCP/IP协议。 它就是一个底层套件,用来处理最底层消息的接受和发送。 socket翻译为套接字,可以把TCP/IP复杂的操作抽象为简单的几个接口来供应用层调用来实现进程在网络中的通信。socket起源于Unix,而Unix的基本要素之一就是“一切都为文件”,即

o3Ev的博客 1万+

Python编程基础教程网络编程入门

作者:禅与计算机程序设计艺术 1.背景介绍 网络编程(英语:Network Programming),又称网络应用程序编程、网路编程或互联网软件开发,是利用计算机网络进行通信的一种计算机编程技术。其最主要的应用场景之一就是远程过程调用(Remote Procedure Call,RPC)协议,它使得

AI天才研究院 153

Python网络编程之一:网络编程(《Python基础教程-第3版》读书笔记)

Python网络编程之一:网络编程简介 Python提供了强大的网络编程支持,有很多库实现了常见的网络协议以及基于这些协议的抽象层,让你 能够专注于程序的逻辑,而无需关心通过线路来传输比特的问题。 一、常用的网络模块 1、模块 socket 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法。 Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

qq_35092730的博客 850

简单理解socket(socket.AF_INET,socket.SOCK_STRE,os.dup2(s.fileno(),0),subprocess.call([“/bin/bash“,“-i“])

1

liver100day的博客 1万+

socket详解

它通过一系列的操作实现这一功能,包括创建套接字、绑定地址和端口、监听连接请求、接受连接、发送和接收数据等。创建套接字是使用套接字编程的第一步。创建套接字的过程包括选择协议(如TCP或UDP)和指定套接字类型(流套接字或数据报套接字)。套接字提供了一种标准化的方法,使不同的计算机之间可以建立连接并在连接上进行数据传输。在套接字编程中,服务器套接字等待客户端的连接请求,而客户端套接字尝试连接到服务器。总之,套接字是一种用于实现网络通信的编程接口,它允许计算机上的进程通过网络连接进行数据传输和通信。

clayhell的博客 1699

Python基础教程:Socket网络编程

网络编程是指编写程序使其能够通过网络连接与其他计算机进行通信。Python作为一种强大的脚本语言,也提供了丰富的库来支持网络编程,在这篇教程中,我们将介绍如何使用socket库实现简单的网络编程

liululee的博客 916

Python基础教程(十九):网络编程

Python网络编程涉及的知识点众多,从基础的Socket编程到高级的异步编程,每一种都有其适用场景。

菜鸟小码的博客 859

python基础教程_学习笔记24:网络编程Python和万维网

网络编程 python是一个很强大的网络编程工具,首先,它有很多针对常见网络协议的库,在库顶部可以获得抽象层,这样可以集中精力在程序的逻辑处理上,而不是停留在网络实现的细节上;其次,python处理字节流的各种模式方面很擅长,因此可以轻松处理各种协议格式。 少数几个网络设计模块 socket模块 在网络编程中的一个基本组件就是套接字(socket)。套接字主要是两个程序之间“信息通道”。程

软件测试技能栈 3452

Python基础教程:Day14a-网络编程入门

Python基础教程网络编程入门计算机网络基础计算机网络是独立自主的计算机互联而成的系统的总称,组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数,而计算机网络也可以称得上是一个“复杂巨系统”,对于这样的系统,我们不可能用一两篇文章把它讲清楚,有兴趣的读者可以自行阅读Andrew S.Tanenbaum老师的经典之作《计算机网...

weixin_34124939的博客 236

python网络编程基础》PDF 下载

python网络编程基础》 方式一: 链接:百度网盘下载地址 提取码:4go6 方式二: 微信扫码登陆下载

langkye 6684

socket.AF_INET, socket.SOCK_STREAM

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建IPv4套接字。s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建TCP套接字。:二者共同定义了一个基于IPv4和TCP的套接字,适用于需要可靠通信的网络应用。是**地址族(Address Family)**的常量,表示使用。是**套接字类型(Socket Type)**的常量,表示使用。

小宝哥Code的专栏 1430

五、socket的使用

TCP协议,传输控制协议(Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP通信需要经过创建连接、数据传送、终止连接三个步骤。面向连接通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。双方间的数据传输都可以通过这一个连接进行。完成数据交换后,双方必须断开此连接,以释放系统资源。

热爱不止,前行不息 3032

网络socket编程

TCP要求收发数据的双方扮演不同的角色:服务器和客户端。服务器会被动等待客户端连接,它自己不会主动发送请求。socket有两种类型:TCP和UDP。

DCS06050606的博客 308

socket网络编程(七)

一、socket概念 socket(简称套接字)是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于socket来完成通信的,例如常用的浏览网页、qq聊天、收发邮件等等。 二、创建socket 在环境中使用socket模块的socket函数就能创建一个socket import socket socket.socket(AddressFamily,Type) 其中带有两个参数: AddressFamily:可以选择

路虽远,行将至。事虽难,做必达。 769

Python写简单的服务端和客户端

运用Python来写简单的客户端和服务端

m0_69801663的博客 1753

Linux 网络编程 —— socket 网络编程

【代码】Linux 网络编程 —— socket 网络编程

Outside_的博客 491
上一篇: Python 操作 MySQL 数据库
下一篇: Python SMTP发送邮件
qihao01
博客等级 码龄7年 5粉丝 43原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值