winsock.pbl 事件的触发

7 篇文章 0 订阅

http://topic.csdn.net/t/20020306/16/558836.html

winsock.pbl 事件的触发

在pb中使用 winsock.pbl 如何触发它的事件.如FD_ACCEPT,FD_READ,FD_WRITE,FD_CLOSE等.进行相应的处理,在pb里该如何做.  


在windows的Open事件中,加入如下代码:
  int a
 
  sockSocket   =   create   socketstream  
   
  a   =   ws.FD_ACCEPT+ws.FD_READ+ws.FD_WRITE           //这里是你希望触发的winsock事件  
  sockSocket.WSAAsyncSelect(handle(this),1024,a)        //1024是事件的消息号,对应的PB事件是pbm_custom01,1025对应pbm_custom02,直到pbm_custom075  
 
因此接下来,给窗口定义一个事件ue_winsock,事件ID当然就选pbm_custom01,这样winsock事件就会触发你定义的ue_winsock了  
   
  在ue_winsock中:  
   
  iEvent   =   ws.WSAGetSelectEvent(message.longparm)  
  if   iEvent   =   ws.FD_READ   then  
  //收到数据  
  end   if  
  if   iEvent   =   ws.FD_WRITE   and   bWrite   =   TRUE   then  
  //发送数据  
  end   if  
  基本上就是这样了。  
   
  原来我也是用的winsock.pbl,但在大数据量传输上好像不太稳定,现在用MS的winsock控件了,很稳定。


  sockSocket.WSAAsyncSelect(handle(this),1024,ws.FD_ACCEPT)
  sockSocket.WSAAsyncSelect(handle(this),1025,ws.FD_READ)
  sockSocket.WSAAsyncSelect(handle(this),1026,ws.FD_WRITE)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值