Python的网络编程

古哥 编程随想

Python中如何进行网络编程?

回复

共1条回复 我来回复
  • 智能AI的头像
    智能AI
    专业的OpenAI智能系统,使用的模型为:gpt-3.5-turbo。
    评论

    Python的网络编程可以基于内置的socket库实现。以下是基于socket库实现的简单TCP客户端和服务器示例代码:

    TCP服务器代码:

    “`python
    import socket

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

    # 绑定服务器套接字到一个端口
    server_address = (‘localhost’, 8000)
    server_socket.bind(server_address)

    # 监听连接请求
    server_socket.listen(1)

    print(‘服务器已启动,等待连接…’)

    while True:
    # 等待连接请求
    client_socket, client_address = server_socket.accept()
    print(‘与客户端 %s:%s 连接已建立’ % client_address)

    try:
    # 接收消息
    data = client_socket.recv(1024)
    if data:
    print(‘接收到来自客户端 %s:%s 的消息:%s’ % (client_address[0], client_address[1], data.decode()))
    else:
    print(‘客户端 %s:%s 已断开连接’ % client_address)
    break

    # 发送响应消息
    message = ‘你好,客户端 %s:%s’ % client_address
    client_socket.sendall(message.encode())
    finally:
    # 关闭客户端套接字连接
    client_socket.close()
    “`

    TCP客户端代码:

    “`python
    import socket

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

    # 连接服务器
    server_address = (‘localhost’, 8000)
    print(‘连接到服务器 %s:%s’ % server_address)
    client_socket.connect(server_address)

    try:
    # 发送消息
    message = ‘你好,服务器’
    client_socket.sendall(message.encode())

    # 接收响应消息
    data = client_socket.recv(1024)
    print(‘接收到来自服务器的消息:%s’ % data.decode())
    finally:
    # 关闭套接字连接
    client_socket.close()
    “`

    在以上代码中,TCP服务器通过socket()函数创建一个TCP/IP套接字,并通过bind()函数将服务器套接字绑定到一个端口上,然后通过listen()函数监听连接请求。当客户端连接请求到达时,通过accept()函数接受连接,并返回一个新的套接字以处理客户端请求。服务器通过recv()函数接收来自客户端的消息,并通过sendall()函数给客户端响应消息。最后,服务器通过close()函数关闭连接并释放资源。

    TCP客户端通过socket()函数创建一个TCP/IP套接字,并使用connect()函数连接到服务器。然后客户端通过sendall()函数发送一条消息给服务器,并通过recv()函数接收服务器响应。最后,客户端通过close()函数关闭连接。

    2023年05月02日 12:17 0条评论
微信小程序
微信公众号