vb tcp服务器小程序,用VB编写的基于TCP/IP协议的简易聊天软件----服务器端代码

本代码用VB编写,主要是用到winsock控件,基于TCP/IP协议。

服务器端代码:

Form1:

Private Sub tcpserver_Close()

Label4.Caption = "未连上"

Text1.Enabled = False

If tcpserver.State <> sckClosed Then

tcpserver.Close '在当前套接字未关闭时将其关闭

SetAttr App.Path & "\save.txt", 1

tcpserver.LocalPort = 65534

'设置监听端口

tcpserver.Listen '监听端口的连接请求

End Sub

Private Sub tcpserver_ConnectionRequest(ByVal requestID As

Long)

If tcpserver.State <> sckClosed Then

tcpserver.Close

tcpserver.Accept requestID

'在监听端口有连接请求时调用Accept方法

Label4.Caption = "已连上"

End

Sub

Private Sub tcpserver_DataArrival(ByVal bytesTotal As

Long)

Dim strdata As String

tcpserver.GetData strdata, vbString

Text3.Text = strdata

End Sub

Private Sub Text3_Change()

Open App.Path

& "\save.txt" For Append As #3

Write #3,

Form1.Text3.Text

Close

#3

End

Sub

Private Sub Text3_KeyPress(KeyAscii As

Integer)

KeyAscii = 0

End Sub

Private Sub Timer1_Timer()

If Form1.Label4.Caption =

"未连上"

Then

Form1.Label4.ForeColor = vbRed

Else

Form1.Label4.ForeColor = vbGreen

End If

If Label4.Caption = "未连上"

Then

Command2.Enabled = False

Else

Command2.Enabled = True

End If

End Sub

Form2:

Dim a As String

Private Sub Form_Load()

If tcpserver.State <> sckClosed Then

tcpserver.Close '在当前套接字未关闭时将其关闭

tcpserver.LocalPort = "65533"

tcpserver.Listen

End Sub

Private Sub tcpserver_ConnectionRequest(ByVal requestID As

Long)

If Form2.tcpserver.State <> sckClosed Then

Form2.tcpserver.Close

Form2.tcpserver.Accept requestID

'在监听端口有连接请求时调用Accept方法

End Sub

Private Sub tcpserver_DataArrival(ByVal bytesTotal As

Long)

Dim str As String

Form2.tcpserver.GetData str, vbString

Form2.Text1.Text = str '+ vbCr

End

Sub

Private Sub Text1_Change()

Form2.tcpserver.SendData

Form2.Text1.Text

End

Sub

Private Sub Text1_KeyPress(KeyAscii As

Integer)

KeyAscii = 0

End Sub

Private Sub Timer1_Timer()

Form2.Top = Form1.Top

Form2.Left = Form1.Left + Form1.Width

End Sub