Vb6 在VisualBasic6中关闭winsock之前发送数据?

Vb6 在VisualBasic6中关闭winsock之前发送数据?,vb6,Vb6,当我的客户端关闭表单或者当停止按钮被按下并且由于某种原因无法工作时,我试图将数据发送到服务器 Winsock.SendData "USERLEAVES" & txtUser.Text Winsock.Close 就像winsock在数据发送之前就关闭了一样。如何修复此问题?请查看“发送完成”事件 例如,使用表单级布尔值: Option Explicit Private mblnClosing As Boolean Private Sub Command1_Click() Win

当我的客户端关闭表单或者当停止按钮被按下并且由于某种原因无法工作时,我试图将数据发送到服务器

Winsock.SendData "USERLEAVES" & txtUser.Text
Winsock.Close

就像winsock在数据发送之前就关闭了一样。如何修复此问题?

请查看“发送完成”事件

例如,使用表单级布尔值:

Option Explicit

Private mblnClosing As Boolean

Private Sub Command1_Click()
  Winsock1.SendData "USERLEAVES" & txtUser.Text
  mblnClosing = True
End Sub

Private Sub Form_Load()
  mblnClosing = False
End Sub

Private Sub Winsock1_SendComplete()
  If mblnClosing Then
    Winsock1.Close
  End If
End Sub

在一些论坛上问了同样的问题后,我发现最好的方法是在winsock close事件中在客户端处理它,而不是发送数据包。好多了。你的答案肯定有效,但这不是最好的方法,但谢谢你的回答,我会把它标记为你的答案。谢谢,我很感激: