python

时间:2025-01-25 09:42:49 单机游戏

在Python中编写网络程序主要使用`socket`模块。以下是一个简单的TCP服务器和客户端的示例代码:

TCP服务器代码

```python

import socket

def start_server(host='127.0.0.1', port=65432):

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:

s.bind((host, port))

s.listen()

print(f"Server listening on {host}:{port}")

conn, addr = s.accept()

with conn:

print(f"Connected by {addr}")

while True:

data = conn.recv(1024)

if not data:

break

print(f"Received {data.decode()}")

conn.sendall(b'Hello, World!')

if __name__ == "__main__":

start_server()

```

TCP客户端代码

```python

import socket

def start_client(host='127.0.0.1', port=65432):

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:

s.connect((host, port))

s.sendall(b'Hello, Server!')

data = s.recv(1024)

print(f"Received {data.decode()}")

if __name__ == "__main__":

start_client()

```

代码解释

导入socket模块

```python

import socket

```

创建socket对象

```python

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:

```

绑定地址和端口

```python

s.bind((host, port))

```

监听连接

```python

s.listen()

```

接受客户端连接

```python

conn, addr = s.accept()

```

接收和发送数据

```python

while True:

data = conn.recv(1024)

if not data:

break

print(f"Received {data.decode()}")

conn.sendall(b'Hello, World!')

```

关闭连接

```python

conn.close()

```

其他注意事项

异常处理:在实际应用中,建议添加异常处理机制,以应对网络不稳定的情况。

多线程/并发:如果需要处理多个客户端连接,可以考虑使用多线程或异步IO来提高服务器的并发处理能力。

安全性:在编写网络程序时,应注意数据加密、身份验证等安全措施,确保数据传输的安全性。

通过以上步骤和示例代码,你可以快速地在Python中实现基本的网络编程功能。根据具体需求,你可以进一步扩展和优化这些代码。