【问题标题】:How can I send strings between two computers? [duplicate]如何在两台计算机之间发送字符串? [复制]
【发布时间】:2012-02-17 03:27:55
【问题描述】:

可能重复:
Beginner for Delphi Network!

我想学习如何让两台机器进行通信,发送和接收简单的字符串。这些机器可能在同一个局域网上——也可能不在。我想我说的是或多或少像你在聊天程序中看到的东西。我了解 Delphi,但对 TCP、套接字、端口等一无所知。您建议我在哪里学习这些东西? ...我知道如何使用谷歌,但老实说,我什至不完全确定从哪里开始搜索!

谢谢,一如既往。

【问题讨论】:

  • 您是特别想按照您的建议手动处理通信(端口、套接字、TCP 等),还是只是在寻找任何类型的通信?例如,在一台机器上托管 Web 服务并在另一台机器上使用它?至于“可能在同一个局域网上”,这往往会产生重大影响。机器可以通信的方式将影响它们的通信方式。
  • 教程有很多。谷歌是你的朋友。旧的 Indy 聊天演示应该在 Indy Sourceforge 下载页面上。
  • 我建议命名管道。这甚至是 psexec 用于跨系统通信的方法。这个答案是我提供的,并提供了一种在 Delphi 中执行此操作的方法:stackoverflow.com/a/360819/12458

标签: delphi tcp chat communication


【解决方案1】:

作为初始安装的一部分,Delphi 多年来一直提供Indy。如果您访问Indy 项目下载页面(链接到),您会找到几个演示应用程序的链接,其中一个是聊天演示。

您没有指定您使用的是哪个版本的 Delphi,因此演示可能需要也可能不需要小改动。如果您无法弄清楚,您可以在此处发布有关问题的具体问题(如果它们尚未出现)。

编辑:他们似乎在最近的版本中放弃了聊天演示。 Delphi.About 有一个完整的聊天应用程序(带代码),可能会有所帮助(以及其他几个 Indy 演示和文章)。

【讨论】:

  • 感谢链接...在 Indy (10) 下载页面上,演示看起来像是在使用 smtp、pop、imap 和 ftp(+ TCP 服务器/客户端)。你指的是哪个演示?
  • Al,请阅读我的编辑(最后一段)。 :)
【解决方案2】:

OSI Model(7 层)开始,然后阅读有关每一层的更多信息,尤其包括physical layer 上的EthernetTCPUDPtransport layer 上的UDP,也许还有@987654327 @@application layer

Indy 库在传输层使用 TIdTCP 之类的类很好地封装了事物,在应用层使用 TIdHTTP 之类的类。

【讨论】:

    【解决方案3】:

    为了学习如何通过套接字进行通信,IMO 最好的文章是:

    http://www.felix-colibri.com/papers/web/socket_programming/socket_programming.html
    http://www.felix-colibri.com/papers/web/delphi_socket_architecture/delphi_socket_architecture.html (它在套接字级别向您解释事情是如何发生的)

    http://delphi.about.com/od/networking/l/aa112602a.htm

    作为这类事情的初学者,我建议你也 http://delphi.about.com 这是一个非常好的资源。

    在您非常了解这些概念之后,您可以进入下一个级别并使用Indy,或任何其他让您的生活更轻松的组件。

    【讨论】:

      猜你喜欢
      • 2011-04-30
      • 2013-09-03
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多