winsock控件

hwh88888 2004-04-28 12:03:27
请问怎样使用winsock控件使用tcp/ip或udp协议在网络中来发送和传递消息,望各位大侠不吝赐教!
...全文
166 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aimee 2004-07-09
  • 打赏
  • 举报
回复
看了上面的代码有所感悟,但也有一个问题,如果是多用户CLIENT,SERVER怎么做!VB好象用(i)标识,PB该如何改法,还望指教,谢谢!
cnufo 2004-07-09
  • 打赏
  • 举报
回复
10975037(猩猩):

如果你是作者的话,你应该是浙江人吧???
10975037 2004-07-09
  • 打赏
  • 举报
回复
设置通讯协议:
WINSOCK控件允许用户以UDP和TCP两种协议中任选一种进行通讯。
(1)UDP协议设置:UDP协议是一种无连接的通讯协议,在通讯之前,需要绑定remotehost和remoteport属性,如果需要双向通讯,还要设置localport属性。
在甲方(本机地址为:134.1.1.1)窗口的Open事件中加入如下语句:
winsock_a.object.protocol=1
//winsock通讯协议设为UDP协议
winsock_a.object.remotehost="134.1.1.2"
//对方的ip地址
winsock_a.object.remoteport=6000
//对方的winsock通讯端口号
winsock_a.object.localport=6001
//本机的winsock通讯端口号
winsock_a.object.bind
//绑定通讯协议
在乙方(本机地址为:134.1.1.2)窗口的Open事件中加入如下语句:
winsock_b.object.protocol=1
//winsock通讯协议设为UDP协议
winsock_b.object.remotehost="134.1.1.1"
//对方的ip地址
winsock_b.object.remoteport=6001
//对方的winsock通讯端口号
winsock_b.object.localport=6000
//本机的winsock通讯端口号
winsock_b.object.bin
//绑定通讯协议
(2)TCP协议设置:TCP协议在通讯前需要进行连接。
在甲方(作为服务器端)窗口的Open事件中加入如下语句:
winsock_a.object.protocol=0
//winsock通讯协议设为TCP协议
winsock_a.object.localport=6001
//本机的winsock通讯端口号
winsock_a.listen()
//启动监听
在甲方winsock_a控件的Connectionrequest事件中加入如下语句:
//接受到对方的连接请求后
if winsock_a.object.state<>0 then
winsock_a.close()
end if
winsock_a.accept(requestID)
//建立直接连接
//requestID是Connectionrequest事件自己的参数
在乙方(作为客户端)窗口的Open事件中加入如下语句:
winsock_b.object.protocol=0
//winsock通讯协议设为TCP协议
winsock_b.object.remotehost="134.1.1.2"
//对方的ip地址
winsock_b.object.remoteport=6000
//对方的winsock通讯端口号
winsock_b.connect() //发出连接请求
(3)无论采用哪种协议,都要在窗口的Close事件中加入如下语句:
if winsock_a/*或winsock_b*/.object.state<>0 then
winsock_a.close()
end if
否则可能第二次使用时发生异常问题
三、开始通讯
在按钮cb_1(caption属性设为‘发送’)的click事件中加入如下语句:
winsock_a/*或winsock_b*/.object.send (sle_1.text)
在winsock_a/*或winsock_b*/控件的dataarrival事件中加入如下语句:
//接受到对方数据后
string datastr1
winsock_a/*或winsock_b*/.object.getdata (def datastr1)
sle_2.text=datastr1 //将数据字符串显示在文本框中

hwh88888 2004-07-08
  • 打赏
  • 举报
回复
这是vc的网站
yangbit 2004-06-14
  • 打赏
  • 举报
回复
www.vccode.com
hwh88888 2004-05-07
  • 打赏
  • 举报
回复
请问哪儿有例子啊?
flyerlxg 2004-05-04
  • 打赏
  • 举报
回复
帮忙顶
mittee 2004-05-04
  • 打赏
  • 举报
回复
最好看一些例子

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧