pb中如何写进行 winsock 编程

jackxrh 2002-03-06 04:20:54
现在我需要在pb 中用 winsock 编程,来得到即时信息.

(1)用pb winsock(其实是 ActiveX,装了 vc++后就有了) 控件试了试,不成功.
(2)我在网上下载了一个封装的 pslib5.dll,winsock.pbl 来直接调用 winsock api.
问题不太大. 但是对封装的socket 我要触发它的事件.如FD_READ,FD_WRITE,FD_CLOSE等.进行相应的处理,在pb里该如何做.

-------肯请各位不吝赐教!

Thanks in advance !

Email: xrh416@sina.com
...全文
60 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hecf 2002-03-06


微软的OS提供有WINSOCK的输出函数,当然你也可以使用其他控件。这是一样的,没有差别。

如果使用前者:先声明几个外部函数,在程序中按WINSOCK的要求,按序调用即可。
回复
CyberNero 2002-03-06
在windows的Open事件中,加入如下代码:
sockSocket = create socketstream

a = ws.FD_ACCEPT+ws.FD_READ+ws.FD_WRITE //这里是你希望触发的winsock事件
sockSocket.WSAAsyncSelect(handle(this),1024,a)
//1024是事件的消息号,对应的PB事件是pbm_custom01
因此接下来,给窗口定义一个事件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控件了,很稳定。
回复
jackxrh 2002-03-06
噫,你还记得我叫 jackxu ?

对vb我不熟,但我想windows\system32里提供的 MSWINSCK.OCX是不会有错的.

但这个控件就是太娇气了,比女朋友还要难侍侯 .....
回复
tiantianpb 2002-03-06
建议jackxu弟使用vb的控件winsock很简单的,对你这样的高手来说
回复
Hanson_bati_zhu 2002-03-06
没搞过
帮你UP
回复
相关推荐
发帖
非技术版
创建于2007-09-28

379

社区成员

PowerBuilder 非技术版
申请成为版主
帖子事件
创建了帖子
2002-03-06 04:20
社区公告
暂无公告