ubuntu

Ubuntu Python网络编程怎样实现

小樊
42
2025-03-12 14:10:10
栏目: 编程语言
Python开发者服务器,限时0元免费领! 查看>>

在Ubuntu上使用Python进行网络编程,你可以使用Python的内置库socket来实现。以下是一个简单的TCP服务器和客户端的示例。

TCP服务器

import socket

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

# 绑定IP地址和端口
server_socket.bind(('0.0.0.0', 12345))

# 监听连接
server_socket.listen(5)
print("Server is listening on port 12345")

while True:
    # 接受客户端连接
    client_socket, client_address = server_socket.accept()
    print(f"Connection from {client_address}")

    # 接收数据
    data = client_socket.recv(1024)
    print(f"Received data: {data.decode('utf-8')}")

    # 发送数据
    client_socket.sendall(b"Hello, client!")

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

TCP客户端

import socket

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

# 连接到服务器
client_socket.connect(('127.0.0.1', 12345))

# 发送数据
client_socket.sendall(b"Hello, server!")

# 接收数据
data = client_socket.recv(1024)
print(f"Received data: {data.decode('utf-8')}")

# 关闭连接
client_socket.close()

UDP服务器

import socket

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

# 绑定IP地址和端口
server_socket.bind(('0.0.0.0', 12345))
print("Server is listening on port 12345")

while True:
    # 接收数据
    data, client_address = server_socket.recvfrom(1024)
    print(f"Received data: {data.decode('utf-8')} from {client_address}")

    # 发送数据
    server_socket.sendto(b"Hello, client!", client_address)

UDP客户端

import socket

# 创建一个socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 发送数据
client_socket.sendto(b"Hello, server!", ('127.0.0.1', 12345))

# 接收数据
data, server_address = client_socket.recvfrom(1024)
print(f"Received data: {data.decode('utf-8')} from {server_address}")

# 关闭连接
client_socket.close()

要运行这些示例,请将它们分别保存为tcp_server.pytcp_client.pyudp_server.pyudp_client.py,然后在终端中运行它们。首先启动服务器,然后运行客户端。

注意:这些示例仅用于演示目的,实际应用中可能需要处理异常、超时等情况。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:Ubuntu Python网络编程如何实现

0
看了该问题的人还看了