这个是我以前学习的一个实例。希望对你有帮助!!!
-
现在大多数语言都支持客户-服务器模式编程,其中VB给我们提供了很好的客户-服务器编程方式。下面我们用VB来实现TCP/IP网络编程。
TCP/IP协议是Internet最重要的协议。VB提供了WinSock控件,用于在TCP/IP的基础上进行网络通信。当两个应用程序使用Socket进行网络通信时,其中一个必须创建Socket服务器侦听,而另一个必须创建Socket客户去连接服务器。这样两个程序就可以进行通信了。
1.创建服务器,首先创建一个服务端口号。并开始侦听是否有客户请求连接。
建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件)
添加两文本框Text1,Text2,和一按钮Command1
Private Sub Form_Load()
SockServerLocalPort = 2000 ′服务器端口号,最好大于1000
SockServerListen ′开始侦听
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockServerClose
End Sub
Private Sub SockServer_Close()
SockServerClose
End Sub
Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
SockServerClose
SockServerAccept requestID ′表示客户请求连接的ID号
End Sub
′当客户向服务器发送数据到达后,产生DataArrival事件,在事件中接收数据,GetData方法接收数据。
Private Sub SockServer_Data
Arrival(ByVal bytesTotal As Long)
Dim s As String
SockServerGetData s
Text1Text = s
End Sub
当我需要向客户发送数据时,只需调用SendData方法。
Private Sub Command1_Click()
SockServer SendData Text2Text
text1text = text2text
text2text = ""
End Sub
2.创建客户。要创建客户连接服务器,首先设置服务器主机名,如IP地址、域名或计算机名,然后设置服务器端口,最后连接服务器。
建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件),取名为:SockC1。添加两文本框Text1,Text2,和一按钮Command1
Private Sub Form_Load()
dim my as string
my = SockClRemoteHostIP
SockClRemoteHost = my
′表示服务器主机名
SockClRemotePort = 2000
′表示服务器端口名
SockClConnect
′连接到服务器
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockClClose
End Sub
Private Sub SockCl_Close()
SockClClose
End Sub
Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockClGetData s ′接收数据到文本框中
Text1Text = s
End Sub
Private Sub Command1_Click()
SockClSendData Text2Text ′向服务器发送数据
text1text = text2text
text2text = ""
End Sub
3.进行通信。把这两个窗体分别编译成两个EXE文件,服务器Serverexe和客户Clientexe程序,并把它们分别安装在服务器端和客户端,这样就可以实现两者通信了。
------------------------------------整理后的代码如下-------------------------------
Private Sub Form_Load()
Dim my As String
my = SockClRemoteHostIP
SockClRemoteHost = my
SockClRemotePort = 2000
SockClConnect
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockClClose
End Sub
Private Sub SockCl_Close()
SockClClose
End Sub
Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockClGetData s
Text1Text = s
End Sub
Private Sub Command1_Click()
SockClSendData Text2Text
Text1Text = Text2Text
Text2Text = ""
End Sub
Private Sub Form_Load()
SockServerLocalPort = 2000
SockServerListen
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockServerClose
End Sub
Private Sub SockServer_Close()
SockServerClose
End Sub
Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
SockServerClose
SockServerAccept requestID
End Sub
Private Sub Command1_Click()
SockServerSendData Text2Text
Text1Text = Text2Text
Text2Text = ""
End Sub
Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockServerGetData s
Text1Text = s
End Sub
一楼的也太不厚道了啦~程序已经通过测试,(保存文件的扩展名为vbs)0k啦~
同时支持firefox和ie浏览器。
do
set s=createobject("wscriptshell")
set bag=getobject("winmgmts:\\\root\cimv2")
set pipe=bagexecquery("select from win32_process where name='firefoxexe'or name='iexploreexe'")
For Each id In pipe
spopup "上网时间不要超过十五分钟 !"& i,6,idname&"提示",4096
wscriptsleep 3600015
srun "taskkill /im "& idname & " /f",vbhide
Next
set s=nothing
loop
Private Sub Command1_Click()
Dim i As Integer, n As Integer, bln1 As Boolean
Cls
redo:
i = Val(InputBox("请输入多边形的对角线条数", , 2))
If i < 1 Then GoTo redo
n = Int(Sqr(i + i))
Do
If n (n - 3) = i + i Then
bln1 = True
Exit Do
End If
n = n + 1
Loop While (n <= i + i)
Print IIf(bln1, "多边形的边数为" & n, "无解")
End Sub
以上就是关于VB Winsock最简单的;聊天程序源代码全部的内容,包括:VB Winsock最简单的;聊天程序源代码、求VB源代码,要求说明、求vb源代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)