安全中国首页 > 编程中心 > VB编程
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

用Visual Basic6.0编写客户服务器程序

更新时间:2005-8-30 22:41:00
责任编辑:流火
热 点:

3. 加一命令按钮,Name为clearmess,Caption为“清除消息”。

4. 加三个WinSock控件,Name分别为sckServer,sckBusy,sckListen。

下面是服务器程序的源代码:

Private MaxNumber As Integer

Dim curnumber As Integer

Dim chatname(50) As String

Dim firstmess(50) As Boolean

Private Sub clearmess_Click()

txtRecive.Text = ""

End Sub

Private Sub Form_Load()

MaxNumber = 50

curnumber = 0

For l = 0 To MaxNumber

firstmess(l) = True

Next l

For i = 1 To MaxNumber - 1

Load sckServer(i)

Next i

sckListen.LocalPort = 8888

sckListen.Listen

End Sub

Private Sub sckBusy_Close()

sckBusy.Close

End Sub

Private Sub sckBusy_DataArrival(ByVal bytesTotal As Long)

sckBusy.SendData "服务器忙,请稍后再连接!"

DoEvents

End Sub

Private Sub sckListen_ConnectionRequest(ByVal requestID As Long)

Dim i As Integer

For i = 0 To MaxNumber - 1

If sckServer(i).State = 0 Then

Exit For

End If

Next i

If sckServer(i).State = 0 Then

sckServer(i).Accept requestID

sckServer(i).SendData "欢迎您参加入网络聊天!"

curnumber = curnumber + 1

number.Caption = curnumber

Exit Sub

End If

sckBusy.Close

sckBusy.Accept requestID

End Sub

Private Sub sckListen_Error(ByVal number As Integer, _

Des cription As String, ByVal Scode As Long, _

ByVal Source As String, ByVal HelpFile As String, _

ByVal HelpContext As Long, CancelDisplay As Boolean)

sckListen.Close

sckListen.LocalPort = 8888

sckListen.Listen

End Sub

Private Sub sckServer_Close(Index As Integer)

Dim j As Integer

sckServer(Index).Close

firstmess(Index) = True

For j = 0 To MaxNumber - 1

If sckServer(j).State = 7 Then

sckServer(j).SendData chatname(Index) + "退出网络聊天"

DoEvents

End If

Next j

curnumber = curnumber - 1

number.Caption = curnumber

End Sub

Private Sub sckServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)

Dim strData As String

Dim i As Integer

sckServer(Index).GetData strData

If firstmess(Index) = True Then

chatname(Index) = strData

firstmess(Index) = False

For m = 0 To 49

If (Index <> m) And (chatname(m) = strData) Then

sckServer(Index).Close

firstmess(Index) = True

curnumber = curnumber - 1

number.Caption = curnumber

Exit Sub

End If

Next m

strData = strData + "加入网络聊天"

End If

For i = 0 To MaxNumber - 1

If sckServer(i).State = 7 Then

sckServer(i).SendData strData

DoEvents

End If

Next i

txtRecive.Text = txtRecive.Text & "Index " & Index & " " & strData + vbCrLf

txtRecive.SelStart = Len(txtRecive.Text)

End Sub

Private Sub sckServer_Error(Index As Integer, ByVal number As Integer, _

Des cription As String, ByVal Scode As Long, ByVal Source As String, _

ByVal HelpFile As String, ByVal HelpContext As Long, _

CancelDisplay As Boolean)

sckServer(Index).Close

End Sub

上一页 1 2 

 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
相关编程
一日一文章
 
一日一软件
一日一动画