如何处理服务器 - 客户端请求

时间:2010-05-11 11:38:44

标签: c++ sockets

目前我正在开发一个服务器客户端系统,它将成为我应用程序的支柱。 我必须找到发送请求并在服务器端处理它们的最佳方法。

服务器端应该能够处理像这样的请求:

  

getPortfolio -i 2 -d all

在一个旧项目中,我决定发送一个字符串请求,服务器应用程序必须查找字符串的第一部分(“getPortfolio”)。之后,服务器应用程序必须在映射中找到正确的方法,该方法将方法与字符串的第一部分(“getPortfolio”)相链接。第二部分(“-i 2 -d all”)作为参数传递,方法本身必须处理此字符串/参数。

我怀疑这是处理许多不同请求的最佳解决方案。

RGDS 莱恩

1 个答案:

答案 0 :(得分:0)

对我来说,似乎你有两个不同的问题。

对于套接字部分,如果您想完全控制自己的操作,建议您使用Beej's guide to socket programming。如果您不想/没有时间自己处理这个部分,您也可以使用C ++套接字库。有很多;到目前为止,我只使用了this one,但其他人可能也很好(甚至更好)。

关于您的解析算法,您可以先写下有关消息格式的所有内容,这样您就可以遵循严格的准则。然后一步一步地处理:

首先,提取“第一个单词”,并将以下参数保留在某个列表中。检查第一个单词是否有效以及是否已知。如果“第一个单词”与任何预定义的现有函数不匹配,则只需忽略该消息(并最终将错误报告给客户端应用程序)。

获得匹配功能后,只需调用它传递其他参数即可。

这样,每个函数都将执行特定任务,您的代码将以优雅的方式进行分割。

不幸的是,由于我们在某种程度上缺乏细节,因此我很难更明确。