Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python 网络编程

作者:狂刀血斧   发布日期:2026-06-12   浏览:105

# 简单的 TCP 服务器示例

import socket

def start_server(host='127.0.0.1', port=65432):
    # 创建一个 TCP/IP 套接字
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket:
        # 绑定套接字到地址和端口
        server_socket.bind((host, port))
        # 监听传入连接
        server_socket.listen()
        print(f"服务器正在监听 {host}:{port}...")

        while True:
            # 接受一个客户端连接
            conn, addr = server_socket.accept()
            with conn:
                print(f"已连接: {addr}")
                while True:
                    # 接收数据
                    data = conn.recv(1024)
                    if not data:
                        break
                    print(f"收到数据: {data.decode()}")
                    # 发送响应
                    conn.sendall(b"服务器已收到你的消息")

if __name__ == "__main__":
    start_server()

解释说明:

  1. 导入模块

    • import socket:导入 Python 的 socket 模块,用于网络通信。
  2. 创建服务器函数

    • start_server 函数定义了一个简单的 TCP 服务器。
    • hostport 参数指定了服务器绑定的 IP 地址和端口号,默认值为 '127.0.0.1'65432
  3. 创建套接字

    • socket.socket(socket.AF_INET, socket.SOCK_STREAM):创建一个 TCP 套接字。
    • AF_INET 表示使用 IPv4 地址,SOCK_STREAM 表示使用 TCP 协议。
  4. 绑定和监听

    • server_socket.bind((host, port)):将套接字绑定到指定的地址和端口。
    • server_socket.listen():开始监听传入连接。
  5. 接受连接并处理数据

    • conn, addr = server_socket.accept():接受一个客户端连接,返回一个新的套接字对象 conn 和客户端地址 addr
    • 使用 while True 循环不断接收客户端发送的数据,并将其解码后打印出来。
    • 如果收到数据,则通过 conn.sendall() 发送响应给客户端。
  6. 主程序入口

    • if __name__ == "__main__"::确保代码只在直接运行脚本时执行,而不是在作为模块导入时执行。
    • 调用 start_server() 启动服务器。

这个示例展示了如何使用 Python 的 socket 模块创建一个简单的 TCP 服务器。你可以根据需要扩展和修改它以实现更复杂的功能。

上一篇:python常用命令

下一篇:python处理json数据

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python的assert基本用法

python开发windows应用程序

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站