概要
网络编程是现代计算机应用的重要组成部分,Python作为一门高级编程语言,提供了强大的网络编程支持。socket
模块是Python进行网络通信的核心模块。本文将详细介绍socket
模块的基本用法及其在网络编程中的实际应用,包括具体的示例代码,帮助快速上手并掌握Python网络编程的基础知识。
什么是Socket
Socket是一种网络通信的端点,用于在网络上两个设备之间传递数据。它是网络编程的基础,通过Socket,程序可以发送和接收数据,实现网络通信。
Socket模块的基本概念
创建Socket
在Python中,可以使用socket
模块创建Socket对象:
import socket
# 创建一个TCP/IP socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
地址族与Socket类型
-
socket.AF_INET
:IPv4地址族 -
socket.SOCK_STREAM
:TCP流套接字 -
socket.SOCK_DGRAM
:UDP数据报套接字
TCP编程
TCP服务器
以下是一个简单的TCP服务器示例,它接收客户端连接并返回一个简单的消息:
import socket
def tcp_server():
host = '127.0.0.1'
port = 12345
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(5)
print(f"服务器启动,监听端口 {port}")
while True:
conn, addr = s.accept()
print(f"连接地址: {addr}")
conn.send(b"欢迎访问服务器!")
conn.close()
if __name__ == "__main__":
tcp_server()