A方程序代码(winsock控件的name改成了udpPeerA,text控件改成了TextSend和textoutput)
-----------------
Private Sub Form_Load()
With udpPeerA
.RemoteHost = "PeerB"
.RemotePort = 1010
.LocalPort = 1011
.Bind 1011
End With
frmPeerB.Show
End SubPrivate Sub Command1_Click()
udpPeerA.SendData TextSend.Text'这里提示参数错误
End SubPrivate Sub udpPeerA_DataArrival(ByVal bytesTotal As Long)
Dim strdata As String
udpPeerA.GetData strdata, vbString
TextOutput.Text = strdata
End Sub
----------------------------------
B方代码:
-------------------
Private Sub Form_Load()
With udpPeerB
.RemoteHost = "PeerA"
.RemotePort = 1011
.LocalPort = 1010
.Bind 1010
End With
End SubPrivate Sub command1_click()
udpPeerB.SendData TextSend.Text'这里提示参数错误
End SubPrivate Sub udpPeerB_DataArrival(ByVal bytesTotal As Long)
Dim strdata As String
udpPeerB.GetData strdata, vbString
TextOutput.Text = strdata
End Sub
-------------------
请高手指教这"参数"错在哪里?

解决方案 »

  1.   

    ....
    .RemoteHost = "PeerB"里面的"PeerB"指定了吗?
    如果是本机测试,这里改成127.0.0.1
      

  2.   

    winsock 控件的 Protocol 属性要改成 sckUDPProtocol如果还不行的话 RemoteHost = "PeerB"  最好写成IP刚才帮你试了 我这里OK的
      

  3.   

    接收信息端需要有公网IP RemoteHost = "" 这个要写公网IP
      

  4.   

    ip设了,本地和远程的都设了,端口也设了,防火墙也打开了,可就是不能通讯.
    如下:
    Private Sub Form_Load()
    With Winsock1
    .Protocol = sckUDPProtocol
    .RemoteHost = "65.32.25.14"
    .RemotePort = 55(另一端是56)
    .LocalPort = 56(另一端是55)
    .Bind 56(另一端是55)
    End With
    End Sub
      

  5.   

    ip设了,本地和远程的都设了,端口也设了,防火墙也打开了,可就是不能通讯. 
    如下: 
    Private Sub Form_Load() 
    With Winsock1 
    .Protocol = sckUDPProtocol 
    .RemoteHost = "65.32.25.14" '(这是对方的IP,别一端的程序指向的是我的IP)
    .RemotePort = 55'(另一端是56) 
    .LocalPort = 56'(另一端是55) 
    .Bind 56'(另一端是55) 
    End With 
    End Sub 
      

  6.   

    以前做过一个,后来发生一样的事
    再后来发现不是代码的问题,而是宽带的问题
    因为我用的是ADSL,为了图方便用猫拨号,每次开机就已经联网的那种
    后来两边都改成用计算机拨号就OK了造成这种问题的原因是,用猫拨号,得到的公网IP是分配给猫(即路由器)的而不是分配给你这台计算机的
    你的计算机只分配到一个内网IP,当猫收到那个UDP数据包的时候,
    不知道该发给内网的哪台机了,就无效了个人经验,仅供参考
      

  7.   

    后来在网上发现有一种NAT技术可以解决这个麻烦,即两台机在不同的局域网里实现UDP互联
    楼主不妨参考一下
      

  8.   

    NAT技术可以解决,请教如何解决呢?查不到有用的资料.谢谢.
      

  9.   

    这需要端口映射的兄弟你有两个办法一你修改路由把你55的端口映射到公网中也是55二就是上面说的nat不过nat哪个可就不是vb好做的需要其他语言支持