教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 电脑网络 >> 办公软件 >> 在pb中用winsock控件使用问题 RSS订阅
在pb中用winsock控件使用问题
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
   现在我只能实现一对一的连接,无法实现多台机的连接, 
我查看了msdn的winsock属性、方法、事件, 
其中有vb实现多个连接的方法, 以前unix下用标准c写过侦听端口, 
创建进程的程序,也可以实现多端口链接, 
可我还是不知道在pb中怎么实现 
请各位朋友多多指教。 
请问这个控件到底叫winsock还是叫winsck啊?怎么网上的文章里叫什么的都有呢?难道是两个东东吗? 
另外还想请教你一个问题啊,用这个控件一对一的连接怎么连啊,我没有中文的介绍啊,谢谢啦!

pb中建立一对一的连接的方法很简单,比方说吧: 
1、新建一个winsock的应用程序对象; 
2、新建窗口server,在server中添加winsock控件ole_winsck; 
3、新建窗口client,在client中也添加winsock控件ole_winsck; 
4、在server和client的winsock控件的事件中填写代码: 
在nectionrequest事件中写: 
if ole_winsck.object.state<>0 then 
ole_winsck.object.close() 
end if 
ole_winsck.object.accept(requestid) 
messagebox("",string(requestid)) 
在dataarrival事件中写: 
messagebox("提示","收到") 
5、在server的open事件中写代码: 
if isvalid(ole_winsck) = false then return -1 
ii_localport=2001 
//winsock通讯协议设为TCP协议 
ole_winsck.object.protocol=0 
//本地侦听的winsock通讯端口号 
ole_winsck.object.localport=20001// 
ole_winsck.object.listen() 
6、在client的open事件中写代码: 
if isvalid(ole_winsck) = false then return -1 
//winsock通讯协议设为TCP协议 
ole_winsck.object.protocol=0 
//server的ip地址 
ole_winsck.object.remotehost="132.113.64.202" 
//server的winsock通讯端口号 
ole_winsck.object.remoteport=20001 
ole_winsck.object.connect() 

6、在server的机上首先运行server窗口,进行侦听; 
7、在client的机上运行client窗口进行连接; 
如果想发送数据的话,就分别在两个窗口上添加一个send按钮,在send按钮的click事件中添加代码: 
string as_data="好玩呀" 
if ole_winsck.object.state = 7 then 
ole_winsck.object.senddata(as_data) 
MessageBox("提示","通知通信控制系统成功!",Information!) 
return 1 
else 
MessageBox("警告","通知通信控制系统失败!",StopSign!) 
return -1 
end if 

在SERVER 端收到一个accept()后,需打开一个 
新的WINSOCK事件(即需调用新的WINSCOK控件) 
成功后,该WINSCOK控件与CLIENT对话,原WINSCOK控件 
继续进行监听,如果有新的连接要求,则产生 
一个accept()后,又打开一个新的WINSOCK事件 
这样,就实现一个SERVER 端对多个CLIENT对话, 
也能实现CLIENT间对话(通过SERVER 端的转接)

来源:编程技术-十度教育
作者:
关键字:
发表日期:2006-10-18 14:06:59

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:将人民币金额转换成大写的金额   下一篇:在pb中屏蔽ctrl alt del 和windows键


2008-11-23 23:40:42
本文的相类似文章
在学习中进步 在进步中成长 教程中国相随您的成长之路
华腾联合科技股份有限公司版权所有
广告联系:Rosibo@163.com