我想在 Delphi 2010 中使用 TCP IP 编写一个消息系统。我想听听使用标准 delphi 2010 组件/indy 组件来执行此操作的最佳选择是什么。
我想编写一个服务器,它可以侦听消息并将消息转发到网络上运行客户端的所有计算机。
1.) a.) 客户端可以将消息发送到服务器以转发给所有其他客户端
b.) 客户端监听来自其他发送者的消息(通过服务器)并显示消息。
2.) a.) 服务器可以向所有客户端发送消息
b.) 服务器将来自客户端的任何消息转发给所有其他客户端
感谢您的任何建议
注意:我不是在编写即时消息或聊天程序。这只是一个用户可以向其他用户发送警报/消息的系统 - 他们不能互相回复!禁止任何商业、共享软件等链接 - 请!我想听听您将如何编写此类系统以及您将采用什么方法,以及您可能会使用的 TCP IP 消息传递架构。无论是直接的 Winows API、Indy 组件等等。
如果这仅限于 Windows,并且您不想使用第 3 方库,那么您可以跳过 TCP/IP 并继续邮槽 http://msdn.microsoft.com/en-us/library/aa365576(v=vs.85).aspx.
Edit:如果你想要保证交付,那么命名管道是一个更好的解决方案。这个问题 https://stackoverflow.com/questions/512366/how-do-i-send-a-string-from-one-instance-of-my-delphi-program-to-another has a few https://stackoverflow.com/questions/512366/how-do-i-send-a-string-from-one-instance-of-my-delphi-program-to-another/512796#512796 nice answers https://stackoverflow.com/questions/512366/how-do-i-send-a-string-from-one-instance-of-my-delphi-program-to-another/512405#512405与 Delphi 命名管道示例。
A mailslot是一种单向机制
进程间通信(IPC)。
应用程序可以将消息存储在
邮槽。邮槽的所有者
可以检索存储的消息
那里。这些消息通常是
通过网络发送到
指定计算机或所有计算机
在指定的域中。一个域是一个一组工作站和服务器
共享群组名称.
他们不需要 Windows 域,他们通过 LAN 工作。
德尔福页面 http://www.delphipages.com/有一个不错的在 Delphi 中进行 IPC 的失败 http://www.delphipages.com/articles/distributed_applications__the_easy_way__part_1_-9218.html,包括邮槽。
--jeroen
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)