请问怎么解决在Win2000环境下使用VB的Winsock控件编写UDP协议程序时主机端不存在或未启动时总报错的问题?错误提示为:“运行时错误‘10054’:连接由远程端重新设置”,但在WinNT4或Win98环境下却不会出错!

解决方案 »

  1.   

    udp不应该提示这些啊,你是不是用错协议了?
      

  2.   

    刚测试过,一般不会出错的,是不是真把协议用错了 ???
    Private Sub Form_Load()
        Winsock1.Protocol = sckUDPProtocol
        Winsock1.RemoteHost = "127.0.0.1"
        Winsock1.RemotePort = 10001
        Winsock1.SendData "sdafasd"
    End Sub
      

  3.   

    谢谢各位,我说的错误是在返回数据时,如下Private Sub Command1()
        Winsock1.Protocol = sckUDPProtocol
        Winsock1.RemoteHost = "127.0.0.1"
        Winsock1.RemotePort = 10001
        Winsock1.SendData "dxfgsdmrfxdmfgxsm"
    End Sub
    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
        
      Dim Tmp As String
      
      Winsock1.GetData Tmp, vbString    '在这里会提示错误!End Sub
    Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)             '这里不会响应错误!
    End Sub
      

  4.   

    我做了一下测试
    确实会出现错误
    Private Sub Form_Load()
        Winsock1.LocalPort = 2000
        Winsock1.RemoteHost = "kkaa"
        Winsock1.RemotePort = 3000
        Winsock1.Bind 2000
        Winsock1.SendData "AAAA" '此处出错“run time error "10014" ,invaild argument”
    End Sub
      

  5.   

    用on error resume next把错误屏蔽掉