我想使用 Python 脚本实现 TCP 服务器。
服务器基本上应该完成以下任务:
它将由远程客户端循环轮询,然后读取其本地工作站上的某些数据并将其发送到客户端轮询。
可以假设如下:
- 始终只有一个客户端连接到服务器(通过以太网)
- 客户端和服务器运行在 Windows 平台上
- Python 2.5.1 将用于实现
目标:
- 服务器应该尽可能高效地从/向客户端读取/写入数据
- 服务器应尽可能减少本地工作站的压力
- 服务器不得造成系统不稳定
由于我对该主题只有一点经验,因此我想在这里讨论如何优化我当前的(非常简单的)代码以满足前面提到的要求。
到目前为止,我有以下内容:
import socket
import sys
port_number = 12345
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = (socket.gethostname(), port_number)
sock.bind(server_address)
sock.listen(1)
while True:
connection, client_address = sock.accept()
try:
while True:
data = connection.recv(4096)
if data:
connection.sendall(getdesireddata(data))
else:
break
finally:
connection.close()
感谢您的所有回复。