21断口是ftp服务器专用的吧?
协议对了吗?

解决方案 »

  1.   

    winsock.RomateIP=要连接的IP
    winsock.RomatePort=21
    winsock.connect
      

  2.   

    估计是协议不正确,udp 协议就没有“连接”一说
    winsock.Protocal = sckTCPProtocal
    winsock.RemoteIP = ...
    winsock.RemotePort = 21
    winsock.Connect另外,是否连接成功,需要提示一下自己
    Private Sub winsock_Connect()
    '// 连接到服务器
    '*************************** 建立连接成功
      mvarConnectionState = Connected
      '提示一下自己
      Msgbox "连接成功"
      '发送登录信息
      winsock.SendData "USER " & mvarUserName & vbCrLf
      '......要在收到服务器回应之后继续发送后面的消息
      '*************************** 触发外部事件
      RaiseEvent OnConnected(winsock.RemoteIP)
    End Sub'// 如果连接失败,会提示错误信息:比如对方拒绝连接、找不到RemoteIP或者RemotePort没有监听,或者网络超时
    Private Sub winsock_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)
    '// 有 Socket 错误发生
      mvarConnectionState = DisConnected
      '提醒一下自己
      Msgbox "[错误]" & Number & ":" & Description & " 发生在 " & Source
      '*************************** 触发外部事件
      RaiseEvent OnSocketError(Number, Description, Source)
    End Sub
      

  3.   

    试试:winsock.loaclport=n'n>1024
    注:将端口改成大于1024的值。