欢迎访问宙启技术站
智能推送

Python实现的TCP服务器

发布时间:2023-12-27 13:05:40

TCP服务器是一种常见的服务器类型,它使用TCP协议进行通信。Python提供了一个socket模块,可以用来创建TCP服务器。

以下是一个Python实现的TCP服务器的示例代码:

import socket

# 创建一个TCP socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定服务器的IP地址和端口号
server_address = ('localhost', 8888)
server_socket.bind(server_address)

# 监听连接
server_socket.listen()

print('服务器已启动,等待连接...')

while True:
    # 等待客户端连接
    client_socket, client_address = server_socket.accept()

    print(f'与客户端 {client_address} 建立连接')

    while True:
        try:
            # 接收客户端发送的数据
            data = client_socket.recv(1024)

            if data:
                # 处理接收到的数据
                message = data.decode('utf-8')
                print(f'接收到客户端数据: {message}')

                # 发送响应数据给客户端
                response = f'你好,客户端 {client_address}'
                client_socket.sendall(response.encode('utf-8'))
            else:
                # 客户端关闭连接
                print(f'与客户端 {client_address} 的连接已断开')
                break
        except Exception as e:
            print(f'与客户端 {client_address} 的连接发生异常: {str(e)}')
            break

    # 关闭客户端socket连接
    client_socket.close()

# 关闭服务器socket连接
server_socket.close()

运行以上代码,将会启动一个TCP服务器,监听本地端口8888,并打印出服务器已启动的提示信息。当有客户端连接时,服务器会打印连接建立的信息,并接收客户端发送的数据并进行处理。然后向客户端发送一个响应数据。当客户端关闭连接时,服务器会打印连接断开的信息,并继续等待下一个客户端连接。

你可以通过telnet命令或其他TCP客户端程序连接到该服务器,并发送数据进行测试。

注意:在实际开发中,你可能需要对以上代码进行适当的优化和异常处理。