编写一个简单的互联网服务器文件server.py,先使用socket模块中可用的socket( )来创建套接字对象,然后使用套接字对象调用其他函数来设置套接字服务器。通过调用bind(hostname,port)函数来指定主机上服务的端口。接下来,调用返回对象的accept( )方法。 此方法在指定的端口等待客户端连接,连接成功后返回一个连接(connection)对象,该对象表示与该客户端的连接。 (2)编写一个简单的客户端文件client.py,打开与给定端口8088与上面的服务器程序主机的连接。 使用Python的socket模块功能创建套接字客户端。socket.connect(hosname,port)函数打开hostname上的port的TCP连接。完成后,关闭它。
时间: 2024-03-22 18:42:26 浏览: 145
好的,以下是一个简单的服务器文件server.py和客户端文件client.py的示例:
server.py:
```python
import socket
HOST = '127.0.0.1' # 主机名
PORT = 8088 # 端口号
# 创建套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# 绑定主机和端口
server_socket.bind((HOST, PORT))
# 监听端口
server_socket.listen()
print(f"服务器正在监听 {HOST}:{PORT} ...")
while True:
# 接受连接
connection, client_address = server_socket.accept()
print(f"客户端 {client_address} 已连接。")
try:
# 接收数据
while True:
data = connection.recv(1024)
if data:
print(f"收到来自 {client_address} 的数据:{data.decode()}")
else:
break
finally:
# 关闭连接
connection.close()
print(f"客户端 {client_address} 已断开连接。")
```
client.py:
```python
import socket
HOST = '127.0.0.1' # 主机名
PORT = 8088 # 端口号
# 创建套接字对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((HOST, PORT))
print(f"已连接到服务器 {HOST}:{PORT}。")
# 发送数据
client_socket.sendall(b"Hello, server!")
# 关闭连接
client_socket.close()
print("连接已关闭。")
```
注意:以上示例代码只是用于演示服务器和客户端之间的基本通信过程,实际生产环境中需要考虑异常处理、数据加密等更多方面的内容。
阅读全文