debian

Python在Debian上的网络编程技巧

小樊
36
2025-04-12 03:52:49
栏目: 编程语言

在Debian上使用Python进行网络编程可以借助内置的socket模块。以下是一些基本的网络编程技巧:

  1. 创建Socket: 使用socket.socket(socket.AF_INET, socket.SOCK_STREAM)创建一个IPv4的TCP Socket。

  2. 连接到服务器: 使用s.connect(('192.168.1.100', 12345))连接到指定的IP地址和端口号。

  3. 发送和接收数据

    • 发送数据:s.send(b'Hello, Server!')
    • 接收数据:data = s.recv(1024),并使用data.decode()将字节转换为字符串。
  4. 关闭连接: 使用s.close()关闭Socket连接,释放资源。

  5. 创建简单服务器

    import socket
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('0.0.0.0', 12345))
    s.listen(5)
    print('等待连接...')
    conn, addr = s.accept()
    print('客户端连接:', addr)
    
    while True:
        data = conn.recv(1024)
        if not data:
            break
        print('收到消息:', data.decode())
        conn.send(b'Got your message!')
    conn.close()
    s.close()
    

    这段代码创建了一个简单的服务器,能够接收客户端连接并回复消息。

  6. 多线程处理多个客户端: 为了处理多个客户端连接,可以使用多线程:

    import socket
    import threading
    
    def handle_client(conn, addr):
        print('客户端连接:', addr)
        while True:
            data = conn.recv(1024)
            if not data:
                break
            print('收到消息:', data.decode())
            conn.send(b'Got your message!')
        conn.close()
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('0.0.0.0', 12345))
    s.listen(5)
    print('等待连接...')
    
    while True:
        conn, addr = s.accept()
        t = threading.Thread(target=handle_client, args=(conn, addr))
        t.start()
    

希望这些技巧能帮助你更好地进行Python网络编程。

0
看了该问题的人还看了