设为首页 加入收藏

TOP

Delphi的Socket编程步骤(八)
2017-10-10 12:04:57 】 浏览:9082
Tags:Delphi Socket 编程 步骤
写一个OnConnect事件Handler去作这件事.   
    
       B.服务器端事件(server        events)   
       服务器socket控件通过两中方式连接:监听连接和连接到客户应用.服务器socket收到这两个连接的所有事件.   
    
       监听时事件   
       当构成监听连接前,OnListen事件发生.在这个时候你能够通过socket属性获得server       windows        socket        object.你能够使用它的SocketHandle属性去改变socket,在socket打开监听之前.例如,如果你想限定监听服务使用的IP地址,你可以在这个OnListen事件Handler中做.   
    
       与客户端连接的事件
       当一个服务器socket同意一个客户连接请求时,接下来的事件发生:   
       1.服务器socket产生一个OnGetSocket事件,通过windows   socket    handle传送给连接的另一端的socket.如果你想提供自己定义的TServerClientWinSocket   of   descendant,你可以在OnGetSocket        事件 handler中建立,将被用来替代TServerClientWinSocket.   

       2.一个OnAccept事件发生,传送新的TServerClientWinSocket对象给事件句柄.这是第一个要点,当你使用TServerClientWinSocket的属性去获得被连接中服务的那端的客户的信息时.   

       3.如果服务类型是stThreadBlocking,一个OnGetThread事件发生。如果你想提供自己定义的TServerClientThread子类,你可以在OnGetThread事件句柄中建立一个,它将替代TServerClientThread.   
       4.如果服务类型是stThreadBlocking,一个ONThreadStart事件发生。当这个线程(thread)开始执行时.如果你想执行任何初始化这个线程,或调用一些windows   socket    API在这线程开始通过连接读和写之前,应该使用OnThreadStart事件句柄.

       5.当客户端完成一个连接时,一个OnClientConnect事件发生.如果是non-blocking服务,你可能想开始通过socket连接在这端进行读或写操作.   
    
    六、通过Socket 连接进行读和写   
        通过socket连接到其他机器的原因是想通过这些连接来读和写信息.什么信息是你要读和写的,或者当你想读和写时是依靠哪些socket连接的相关服务的.   
        通过sockets进行读和写可以是异步的,所以在你的网络应用中不需要阻塞其他代码的执行。这是调用non-blocking       connection.你也同样可以通过blocking       connection,这时你的下一行代码的执行必须等到读或写操作完成.   
    
      A.Non-blocking
      连接,读和写是异步的,   所以在你的网络应用中不需要阻塞其他代码的执行.建立一个Non-blocking连接:   
      1.在客户socket中设置ClientType属性为ctNonBlocking.   
      2.在服务器socket中设置ServerType属性为stNonBlocking.   
      当连接是non-blocking时,连接的另一端企图读或写时读和写事件将把这个信息通知你的socket.   
&n

首页 上一页 5 6 7 8 9 下一页 尾页 8/9/9
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【Spine】Spine Runtime for Delp.. 下一篇DELPHI 小结

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目