本代码用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