服务器如何根据客户端输入来执行不同的任务?

2024-04-19 07:15:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用Python的socketServer模块实现一个socket服务器。我很难理解客户机是如何向服务器发送信号以执行某些任务的。你知道吗

如你所知,我是这方面的初学者。我看过很多教程,但是,这些只是告诉你如何在服务器上执行单一的任务,例如修改来自客户端的消息并将其发送回去。你知道吗

理想情况下,我想知道的是,客户端有一种与服务器通信的方式来执行不同类型的任务。你知道吗

有没有一个标准的方法来解决这个问题?你知道吗

我使用的服务器类型是否正确?你知道吗

我正在考虑实现某种形式的消息传递,从客户端通知服务器它应该执行哪个任务。你知道吗


Tags: 模块服务器消息客户端类型客户机信号方式
1条回答
网友
1楼 · 发布于 2024-04-19 07:15:50

I was thinking of implementing some form of message passing from the client that tells the server which task it should perform.

这正是您需要的:应用程序协议。你知道吗

套接字(假设流式Internet套接字或TCP)是字节流,仅此而已。要赋予这些字节任何意义,您需要一个协议来确定哪个字节(或其序列)表示什么。你知道吗

要解决的主要问题是,这样的套接字提供的流没有“消息”的概念。因此,当一方发送“HELLO”和“BYE”之后,所有的信息都被连接到流中:“HELLOBYE”。更糟糕的是,服务器首先接收“HELL”,然后是“OBYE”。你知道吗

因此,您需要消息框架,或者如何解释消息的开始和结束位置的规则。你知道吗

您通常不想发明自己的应用程序协议。通常利用HTTP或其他现有协议来传递消息。你知道吗

相关问题 更多 >