为了实现自动升级功能,我首先从网上下载了一些winsock的例子,都是采用Client/Server形式,但是我一运行或者调试就提示 实时错误‘40006’:所需事物或请求的错误协议或连接状态
对winsock控件不是很了解,不知道是哪里的问题?具体应该在哪些条件下如何调式这个通讯功能呢?

解决方案 »

  1.   

    先设置协议和端口,再连接,MSDN里有教程
      

  2.   

    以下的端口协议设置不对吗? 都是从网上下的例子按说不该出错啊,都是提示同样的错误,感觉是我哪里没注意到,我是同时在我的电脑上运行的Client/Server这两个程序
    Server:
    Private Sub Form_Load()
        sockserver.LocalPort = 2000 '服务器端口号,最好大于1000
        sockserver.Listen  '开始侦听
        Text1.Locked = True
    End SubClient:
    Private Sub Form_Load()
        '  指定服务器主机名
        SockCL.RemoteHost = "127.0.0.1"
        '  指定服务器端口名
        SockCL.RemotePort = 2000
        '  连接到服务器
        SockCL.Connect
    End Sub每次一调式遇到类似下面的语句就出错
    sockserver.SendData SendMsg
    SockCL.SendData SendMsg
      

  3.   

    调试时检查一下sock.state是不是sckConnected,再作计较
      

  4.   

    刚在局域网下用两台机子试了试,client和server通讯成功了。但是换到外网不知道为什么就不行了?
    不是客户端只改IP地址就行吗? 如下:
    Private Sub Form_Load()
        '  指定服务器主机名
        SockCL.RemoteHost = "222.38.50.234"
        '  指定服务器端口名
        SockCL.RemotePort = 2000
        '  连接到服务器
        SockCL.Connect
    End Sub
    从网上查了一下服务器的ip地址,然后把客户端里的ip地址换成查到的要连接的服务器的地址不行吗?还要设置其他嘛?