7,763
社区成员
发帖
与我相关
我的任务
分享
Dim ip1 As String
Dim isrunning() As Boolean
Option Explicit
Private Sub Command1_Click() '点击发送按钮
Dim sendata As String
Dim i As Integer
For i = 0 To Winsock1.UBound
If Winsock1(i).State = 7 Then
sendata = "系统消息:——>" & Text3.Text
Winsock1(i).SendData sendata '发送数据到对方
DoEvents
End If
Next
'Text4.Text = Now & vbCrLf
Text4.Text = Text4.Text & Now & vbCrLf & "系统消息——>" & Text3.Text & vbCrLf & vbCrLf
Text3.Text = "" '清空发送文本框
Text3.SetFocus
End Sub
Private Sub Form_Load()
Winsock1(0).LocalPort = 1600 '设置服务端口号
Text1.Text = Winsock1(0).LocalIP '读取服务器ip地址
Text2.Text = 1600
Winsock1(0).Listen '设置监听Text1.SetFocus
End Sub
Private Sub Form_Unload(Cancel As Integer)
Winsock1(0).Close
End Sub
Private Sub Winsock1_Close(index As Integer) '客户端断开连接后
If Winsock1(index).State <> 0 Then
Winsock1(index).Close
'Unload Winsock1
List2.Clear '在线列表处理
Winsock1(0).Listen
End If
End Sub
Private Sub Winsock1_ConnectionRequest(index As Integer, ByVal requestID As Long)
Dim ip As String
If Winsock1(index).State <> 0 Then
Winsock1(index).Close
End If
Winsock1(index).Accept requestID '接受远程主机的请求
ip = Winsock1(index).RemoteHostIP
ip1 = ip
List2.AddItem ip
End Sub
Private Sub Winsock1_DataArrival(index As Integer, ByVal bytesTotal As Long)
Dim str As String
Dim str1 As String
Dim i As Integer
Winsock1(index).GetData str
Text4.Text = Text4.Text & Now & vbCrLf & ip1 & ":---->" & str & vbCrLf & vbCrLf
str1 = ip1 & ":----->" & str
For i = 0 To Winsock1.UBound
If i <> index Then
Winsock1(index).SendData str1
End If
Next
End Sub