| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
VB网络编程中Winsock的使用
作者:未知    文章来源:网络    点击数:    更新时间:2006-8-15
 

 

♣frmclient窗体的设计内容

窗体的配置内容如图3-2

♣程序的代码

private sub form_load()

‘指定远程主机的ip地址。如果是localhost,代表的ip地址为127.0.0.1,并且也代表本机。

Tcpclient.RemoteHost=”localhost”

‘设置本机连接端口的localport属性的内容

‘请注意!必须是整体值

tcpclient.remoteport=2000

‘设置窗体的标题内容

Me.Caption=”frmclient”

Label1.caption=”传送的文字”

Label2.caption=”接收的文字”

Cmdconnect.caption=”与主机连接”

End sub

Private sub cmdconnect_click()

‘调用tcpclient控件的connect方法,来初始化与主机的连接请求

tcpclient.connect

end sub

private sub txtsend_change()

‘当txtsend控件的内容发生变化时,立即调用tcpclient控件的senddata方法,将txtsend控件的内容传送给主机

tcpclient.senddata txtsend.text

end sub

private sub tcpclient_dataarrival(byval bytestotal as long)

‘说明即将接收的数据类型

dim strdata as string

‘调用tcpclient控件的getdata方法,将接收的数据以vbstring数据类型存放strdata变量之中。

Tcpclient.getdata strdata,vbstring

‘将strdata变量的内容,存放在txtoutput控件之中。

Txtreceive.text=strdata

End sub

♣程序的执行结果

3-1-1如何允许更多客户端同时连接

当您的应用程序架构是属于主从式架构时,一般来说,客户端应该不止一个而已。但是,如果每一个客户端使用的一组连接端口时,那么如果有100个客户端呢?如果有1000个客户端呢?那么究竟要增加多少个winsock控件呢?同时,也得要分成100(或是1000)组accept子程序,接着每一部客户端都必须记得固定的连接端口号。

其实,您大可不必如此辛苦。您可以利用Visable Basic控件数组的方式并利用监听用的数组元素(一般都是索引值“0”),来触发ConnectRequest事件。接下来再利用判别控件数组元素的连接状态来进行远程客户端连接。以下的程序代码范例,就是如何让许多远程用户连接到同一个连接端口号的程序代码的模板:

private connmax as long

private sub form_load ()

dim I as integer

connmax =200

sckserver(0).localport=1001

sckserver(0).listen

for I =1 to connmax

load sckserver(i)

next

end sub

上一页  [1] [2] [3] 下一页


相关文章