【问题标题】:FTP PHP socket programmingFTP PHP套接字编程
【发布时间】:2014-03-01 22:10:17
【问题描述】:

我正在尝试用 PHP 实现一个 FTP 客户端,但我在使用主动模式时遇到了问题。

我对socket编程的一些点不是很熟悉。

情况是这样的:

  1. 我连接到服务器并进行身份验证
  2. 我通过发送“PORT n1,n2,n3,n4,n5,n6”更改为活动模式
  3. 我为传入连接创建了一个服务器套接字
  4. 我发送命令“RETR”以便服务器可以连接到 n5 * 256 + n6

我不知道如何创建服务器套接字 (3) 并使其正常工作并期待连接,以便我可以发送 RETR 命令 (4)。

如果你能至少给我一个观点,那就太好了。

提前致谢。

【问题讨论】:

  • 你为什么把它标记为C++c

标签: php sockets ftp


【解决方案1】:

3 是简单的部分 - 你创建一个套接字 (socket_create) 将它绑定到一个地址 (socket_bind) 然后开始监听 (socket_listen)。该过程在socket_listen page in the manual 上进行了描述。

但是,作为以前编写过 FTP 客户端的人来说,这是您最不必担心的(实际上您可以通过简单地设置 PASV 来省去麻烦)。真正困难的是处理协议的不同实现之间的所有细微差异——它们差异很大。除此之外,FTP 从根本上来说是不安全的——除非有人用枪指着你的头,否则请使用 HTTPS 或 SCP。

【讨论】:

  • 有没有一种简单的方法可以将像 44941 这样的端口号转换为这种格式 n1 * 256 + n2?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
  • 2013-07-13
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
  • 2012-08-24
相关资源
最近更新 更多