设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 7834|回复: 6
打印 上一主题 下一主题

[转帖]VB聊天程序

[复制链接]
跳转到指定楼层
1#
发表于 2005-11-10 01:30:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
好几天没写什么东西给大家看了,今天地没什么好写的(技术也没有多高,只给写几个烂程序,大家就这样看吧)就写一个简单的聊天程序吧。不过大家可以改成一个远程控制程序,一会就让大家知道了,好了不多说了!以后用我的习惯,直接写出代码,慢慢看啊!!

Private Sub cmd_connect_Click()

    连接

    SockClient.RemoteHost = txt_ip.Text

    SockClient.Connect

End Sub

Private Sub cmd_quit_Click()

    退出

  SockClient.Close

    End

End Sub

Private Sub cmd_send_Click()

    '发送文本

    Dim MySendData As String

    MySendData = txt_send.Text

    SockClient.SendData MySendData

    txt_send.Text = ""

End Sub

Private Sub cmd_end_Click()

    退出

    SockClient.SendData "quit"

End Sub

Private Sub Form_Load()

    '服务器开始监听

    SockServer.Listen

End Sub

Private Sub SockClient_Close()

    '激活连接按钮

    cmd_connect.Enabled = True

    txt_send.Text = ""

    txt_get.Text = ""

End Sub

Private Sub SockClient_Connect()

    MsgBox "连接成功", vbInformation, "ok!"

    '使连接按钮无效,避免错误

   

    cmd_connect.Enabled = False

End Sub

Private Sub SockClient_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)

    '出错后关闭

    SockClient.Close

End Sub

Private Sub SockServer_Close()

    cmd_connect.Enabled = True

End Sub

Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)

    '判断服务器不关闭时接受连接请求

    If SockServer.State <> sckClosed Then SockServer.Close

        SockServer.Accept requestID

End Sub

Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)

    Dim MyGetData As String

    '得到数据

    SockServer.GetData MyGetData

    If MyGetData = "quit" Then

        SockServer.Close

        SockServer.Listen

        End

    End If

    txt_get.Text = txt_get.Text & Chr(13) & Chr(10) & Time & MyGetData

End Sub

Private Sub Timer1_Timer()

    '不断的监控服务器和客户端状态

    Select Case SockClient.State

        Case 0: StatusBar1.Panels(2) = "客户端关闭"

        Case 1: StatusBar1.Panels(2) = "客户端打开"

        Case 7: StatusBar1.Panels(2) = "客户端已经连接"

    End Select

    Select Case SockServer.State

        Case 0: StatusBar1.Panels(1) = "服务器关闭"

        Case 2: StatusBar1.Panels(1) = "服务器侦听"

        Case 7: StatusBar1.Panels(1) = "服务器已经连接"

    End Select

End Sub

Private Sub txt_send_KeyPress(KeyAscii As Integer)

    '发现按下回车键时就发送文本

    If KeyAscii = 13 Then

    cmd_send_Click

End If

End Sub

不知道大家有没有看到这段

If MyGetData = "quit" Then

        SockServer.Close

        SockServer.Listen

        End

End If

  向对方发送quit指令,就会退出聊天程序,但是当我们发送如果不是quit而是别的呢?比如说是"重起"."关机"......哈哈!!大家想到了吧,怎么做就是大家的事了,你们就看这办吧!不懂的大家可以交流一下。<!--正文结束-->
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-12-30 06:37:00 | 只看该作者
ding
3#
发表于 2005-12-30 06:53:00 | 只看该作者
很好 不错
4#
发表于 2006-2-15 00:54:00 | 只看该作者
有没群聊的……
5#
发表于 2007-9-6 17:51:19 | 只看该作者
呵呵
正想搞个远程控制.
谢谢
6#
发表于 2011-4-22 23:54:24 | 只看该作者
学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 14:31 , Processed in 0.083394 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表