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

python socket recv

作者:昨夜的风   发布日期:2026-02-23   浏览:51

import socket

# 创建一个TCP/IP套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定套接字到地址和端口
server_address = ('localhost', 10000)
print(f'starting up on {server_address[0]} port {server_address[1]}')
sock.bind(server_address)

# 监听传入连接
sock.listen(1)

while True:
    # 等待连接
    print('waiting for a connection')
    connection, client_address = sock.accept()

    try:
        print(f'connection from {client_address}')

        # 接收数据
        while True:
            data = connection.recv(16)  # 每次接收16字节的数据
            if data:
                print(f'received "{data.decode()}"')
                # 发送数据回客户端
                connection.sendall(data)
            else:
                print('no more data from', client_address)
                break

    finally:
        # 清理连接
        connection.close()

解释说明:

  1. 创建套接字:使用 socket.socket() 创建一个TCP/IP套接字。AF_INET 表示使用IPv4,SOCK_STREAM 表示使用TCP协议。
  2. 绑定地址和端口:使用 bind() 方法将套接字绑定到指定的地址和端口。
  3. 监听连接:使用 listen() 方法使服务器开始监听传入连接。参数 1 表示最多允许1个未处理的连接。
  4. 接受连接:使用 accept() 方法等待并接受一个客户端连接。返回一个包含新套接字对象和客户端地址的元组。
  5. 接收数据:使用 recv() 方法从客户端接收数据。参数 16 表示每次接收16字节的数据。
  6. 发送数据:使用 sendall() 方法将接收到的数据发送回客户端。
  7. 关闭连接:在通信完成后,使用 close() 方法关闭连接。

这个示例代码展示了如何使用Python的 socket 模块创建一个简单的TCP服务器,接收来自客户端的数据,并将其回传给客户端。

上一篇:python字典添加键值对

下一篇:python var

大家都在看

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

python 私有函数

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

Laravel 中文站