TIdSimpleServer是什么? (100分)

  • 主题发起人 主题发起人 shopman
  • 开始时间 开始时间
S

shopman

Unregistered / Unconfirmed
GUEST, unregistred user!
请详细介绍下TIdSimpleServer及如何使用。
我找的那个程序用了这个同时也用了个TClientSocket。
当客户端连结到TIdSimpleServer提供的服务时就会用TClientSocket发送数据
但我始终没发现TIdSimpleServer与TClientSocket之间的联系。

所以请介绍下TIdSimpleServer
 
就是一个区别于 TIdTCPServer 的控件,它的最大特点是单线程。在程序里配合 TClientSocket
一般是用来接受 TClientSocket 连接的服务端的数据,而那个服务端会利用 TIdSimpleServer
提供的端口绑定等进行通信。
所以基本上这个程序是偷懒的做法,它只是简单地利用控件,堆砌了一个双向通讯。
也就是说,双方都是客户又都是服务。
 
还是有点不太清楚,我把这个问题再细化下!

******服务器******
|
|
*************客户机***************
客户机上运行的程序是两个进程,进程
A建立后初始化了TIdSimpleServer和线
程,就绪后再CreateProcess( B ),进
程B 成功启动后使用TClientSocket
连结到进程A ,进程A 收到B 的连结请
求后于是用TClientSocket 连结到了
服务器
服务器确认后返回成功连结后再由A 进
程通知B 进程。。。。。

我不明白的是!当服务器返回成功连结信息后是由进程A 的TClientSocket收到的
但是程序中没发现TClientSocket与TIdSimpleServer交换信息的任何代码,但事实
是进程B 收到了来自服务器的返回信息。。。。。。。。。。。。。。
 
真真有意思的问题来了。从床上爬起来也要回一贴先。
看到说明,首先让我联想到的是,会不会是设计者有意为避免超时连接,故意设计成
客户机和服务器都可以随时通讯的模式。因为客户使用了 SimpleServer ,只要保持
侦听状态,服务器端就没有必要保持 TCP 连接,通信结束,就可以中断 TCP 连接。
但是,看描述,逻辑上却对不上号,,en,,还是不能理出头绪来。等待听听高人如
何说吧。
 
多人接受答案了。
 
后退
顶部