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

python tcp服务器

作者:天辰皇族   发布日期:2025-07-04   浏览:72

import socket

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

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

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

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

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

        # 接收数据
        while True:
            data = connection.recv(16)
            print(f'Received: {data.decode()}')
            if data:
                print('Sending data back to the client...')
                connection.sendall(data)
            else:
                print('No more data from', client_address)
                break

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

解释说明:

  1. 创建TCP服务器套接字:使用socket.socket(socket.AF_INET, socket.SOCK_STREAM)创建一个TCP套接字。
  2. 绑定地址和端口:使用bind()方法将套接字绑定到指定的IP地址和端口号(本例中为localhost10000)。
  3. 监听连接:使用listen(1)方法使服务器开始监听传入连接,参数1表示最大连接数为1。
  4. 接受连接:使用accept()方法等待并接受客户端连接,返回一个新的套接字对象和客户端地址。
  5. 接收和发送数据:通过recv()方法接收数据,并通过sendall()方法将接收到的数据回传给客户端。
  6. 关闭连接:当没有更多数据时,关闭连接以释放资源。

此代码实现了一个简单的TCP服务器,它会监听指定端口,接受客户端连接,并回显接收到的数据。

上一篇:python串口发送16进制数据

下一篇:keyerror怎么解决python

大家都在看

python时间格式

python ord和chr

python中的yield

python自定义异常

python list.pop

python的for i in range

npm config set python

python代码简单

python读取文件夹

python中turtle

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

Laravel 中文站