【发布时间】:2011-01-05 19:20:15
【问题描述】:
我正在编写一个 C 守护程序,我的 Web 应用程序将使用它作为代理与 FTP 服务器通信。我的 Web 应用程序使用户能够通过 AJAX 连接 FTP 站点并与之交互。我需要一个 C 守护程序的原因是我无法通过 AJAX 调用保持 FTP 连接。
我的 Web 应用程序需要能够告诉我的守护程序对给定用户帐户的给定 FTP 服务器执行列出、获取、放置、删除、移动和重命名文件。所以当我的应用程序与守护进程对话时,它需要通过我定义的一些协议传递以下内容:1)操作,2)连接 ID,3)用户 ID,4)操作的任何附加参数(注意:连接信息存储在一个数据库,所以守护进程也会与之对话)。
这就是我需要我的守护进程来做的事情。我正在考虑我的网络应用程序和守护程序之间的通信将通过 TCP 套接字进行,但我不知道我将发送什么数据。我需要一个例子。例如,我应该通过套接字向守护进程发送这样的内容吗?
action=list&connection_id=345&user_id=12345&path=/some/path
或者我应该在字节级别做一些硬核的事情,像这样?
+-----------------+-------------------------+-------------------+-----------------------------------+
| 1 byte (action) | 4 bytes (connection id) | 4 bytes (user id) | 255 bytes (additional parameters) |
+-----------------+-------------------------+-------------------+-----------------------------------+
| 0x000001 | 345 | 12345 | /some/path |
+-----------------+-------------------------+-------------------+-----------------------------------+
这种通过套接字进行的通信通常是什么样的?
【问题讨论】: