您好,请问tserversocket控件 的onclientconnection事件(50分)

  • 主题发起人 wjlsmail
  • 开始时间
W

wjlsmail

Unregistered / Unconfirmed
GUEST, unregistred user!
您好,一本书中,这样写着:
当serversocket控件监视到指定的端口有客户联接请求时,将产生onclientconect 事件通知服务器应用程序。服务器应用程序可以在该事件中处理一些联接前的准备工作,随后serversocket将产生onaccept事件,表示serversocket已经接收该客户的连接请求。
还有相应的代码(测试通过),但好多人说onclientconnection在onaccept前发生,到底tserversocket控件 的onclientconnection事件何时被触发? onaccept事件呢?,两者谁先谁后?最好能给我说说serversocket与clientsocket的各事件在时间上的对应。谢谢
 
server onlisten
client onlookup
client onconnecting
server ongetsocket
server onclientconnect
server onaccept
client onconnect
client send text:我是客户端,我来了!
client onwrite
server onclientwrite
server receive text:我是客户端,我来了!
server send text:我是服务器 我知道了!
server onclientread
client onread
client receive text :我是服务器 我知道了!
client receive text : 我是服务器 我知道了!
client send text : 我是客户端 我走了!
server onclientread
server send text:我是服务器 再见!
client onread
client receive text :我是服务器 再见!
client receive text : 我是服务器 再见!
client ondisconnect
server onclientdisconnect
 
对吗? 再看看...........
 
那是我经过测试的结果。
你觉得有什么问题?
 
大哥,探讨一下而已:)
1.client send text:我是客户端,我来了!
client onwrite
哪个在先?
2.server onclientwrite 和 client onwrite 应该是同步被触发的,也就是说,只要通讯建立,这两个事件即被触发。对吗?
您可以说说你的看法,我尊重您从实践中得到的东西。谢谢您。您已经让我明白了server onclientconnect和server onaccept
的先后关系,我应该学习您的善于钻研,多摸索的治学态度,谢谢。
 
1 第一句是在clientsocket在sendtext前我的一句打印。第二句是clientsocket自身的属性
触发。没有先后的顺序吧?
只是表明一点,clientsocket在发数据时会触发onwrite事件。

2 不是在通讯建立的时候会触发这两个事件。是在有数据从客户端向服务器端传输的时候。
两个事件还是会有点区别的。
一个是在客户端开始发送时触发,还有一个是在服务器端收到由客户端发过来的数据时
才被触发。
算不上完全同步。
 
多人接受答案了。
 
armyjiang , clientsocket在发数据时会触发onwrite事件 ???

好像不见得!clientsocket在发数据时只会触发Server端的OnClientRead事件。
onwrite事件实际上只触发一次,就是当连接请求被Server接受后即Client端的OnConnect
事件被触发,紧接着被触发的,表示用户可以向socket中写数据了。 


 
顶部