2012-10-19 38 views
0

我试图设计一个连接到远程服务器的客户端程序,并向它发送各种消息/请求,并期望基于请求发送的响应(例如发送加入消息并等待响应,然后或者查询某个资源或者请求某些信息等等,但没有特定的顺序)。设计一个交互式客户端

我想设计客户端,使用户可以在加入服务器后选择任何可能的请求发送(在完成一个请求并获得响应后,如果它允许它们进行进一步的请求或退出)。就像它每次返回的操作菜单一样(同时也等待来自服务器的任何数据)?但我似乎无法弄清楚如何做到这一点。有没有办法做到这一点(最好不进入分叉/线程)?

对此的任何投入都会非常好。 TIA

+0

等一下,你想设计一个网站吗?好的,我真正的问题是:你考虑过HTTP吗?例如,在服务器端的Mongoose和卷曲客户端? – Tibo

回答

2

我会从一个简单的聊天服务器开始,以获得您对套接字编程的感觉。谷歌示例TCP聊天服务器或什么的,你会最终得到这样的简单例子:http://www.cs.ucsb.edu/~almeroth/classes/W01.176B/hw2/examples/tcp-server.c ..一旦你能够telnet到你的服务器和读/写你的客户,你应该能够从那里进步并执行操作当你的客户发出特定的命令和类似的事情。

+0

击败我以前的评论,这实际上是要走的路。设计自己的协议很有趣。 – Tibo

+0

是的,我得到的印象是他想要做的。虽然@ source.rar如果你正在寻找创建gui和那类东西,那么你需要使用web浏览器作为你的客户端,并且通过http与你的服务器通信,就像Tibo建议的那样。如果是这样的话,那么请查看http://libevent.org/这是我最喜欢的C库之一,它使得创建一个嵌入式Web服务器非常简单,为您打理所有的http协议内容,所以您只需要要做的就是写回调来处理你将用于你的命令的各种URL。 – hexist

+0

谢谢你的例子。然而,我实际上寻找的是在客户端本身进行交互的一种方式,同时它也与服务器交互(如果这样做有任何意义:))。至少现在还没有GUI和东西(只是普通的旧CLI) –