【问题标题】:About TCPClient receive data from TCPServer problem关于TCPClient从TCPServer接收数据的问题
【发布时间】:2011-08-31 18:10:34
【问题描述】:

大家好~
我有问题要解决~
我创建了一个服务器,每个人都可以连接到这个服务器。
服务器的功能是为了将消息从一个客户端传输到另一个客户端。
我不知道其他客户端何时将消息发送给客户端。
我使用Delphi-7开发程序。
我没有找到任何 TCPClient 对象来监听 TCPServer 发送的消息。
请给我你的观点~谢谢:)

【问题讨论】:

  • 您在标题中提到了一个问题,但您的帖子中没有问题。根据您的描述,在我看来您正在寻找用于 Delphi 7 的 TCP/IP 组件。如果是这样,请尝试查看 this post
  • 哦~对不起,我的问题解释的模棱两可。我的问题是我不知道TCPServer何时将消息发送到TCPClient,因为客户端不知道另一个客户端发消息给你,所以不知道TCPClient什么时候收到数据,谢谢你的回复~
  • 如果您正在谈论从服务器接收响应,您可以调用 Indy 函数来接收响应。它们都是阻塞的,因此它们只会在收到响应(或发生超时)后返回。 Indy 以这种方式为您处理所有时间。
  • forums.embarcadero.com/message.jspa?messageID=160122 有一个使用 TWinSocketStream.Create(TcpClient.Socket, 1000); 的示例

标签: delphi delphi-7 tcpclient tcpserver


【解决方案1】:

服务器不发起与客户端的对话。如果您的消息传递客户端尚未与服务器建立开放连接,并且服务器需要通知客户端它有消息,那么客户端程序 需要有一个服务器组件 以便它可以侦听来自消息服务器的新连接。

另一种方法是让客户端保持与服务器的持久连接打开。当消息到达时,服务器可以向相应的客户端发送通知,因为它已经打开了一个连接并且客户端正在等待来自服务器的响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多