那位高人指教指教,小弟感激不尽。
Private Sub Form_Load()
txtLocalIP.Text = udpsock1.LocalIP
txtLocalPort.Text = udpsock1.LocalPort
End Sub
Private Sub txtSend_Change()
udpsock1.SendData txtSend.Text  运行时出错提示:10047 地址族不支持
End Sub
Private Sub udpsock1_DataArrival(ByVal bytesTotal As Long)
udpPeerA.GetData strData
txtoutput.Text = strData
End Sub
另一个程序也运行时出错提示:10047 地址族不支持

解决方案 »

  1.   

    WINSOCK.bind 端口
    还有设置自己的端口对方的断口与对方的IP.是一个叫RXXXXXXPort
      

  2.   

    我本地端口是通过自动获取的。对方ip和端口是运行程序,输入对方的ip和端口。我的程序要求是:
    要求: 利用VB的Winsock控件,通过UDP协议实现两台机器的聊天进程相互传送数据(程序中可以读取本地机器的IP地址,可以设置进程绑定的本地端口、远程机器的IP地址和远程机器的端口号。当两台机器的聊天进程同时启动以后,在一台机器的聊天进程中输入的字符串可以在另一台机器的聊天进程中显示出来)
      

  3.   

    用 Winsock 实现聊天的程序一个简单的聊天程序程序所需控件:Winsock控件,CommandButton控件(默认name),TextBox控件(一个名称为txtMess,另一个名称为txtSend)程序代码如下:
    Private Sub Form_Load()
    Dim my As String
    Winsock1.Protocol = sckUDPProtocol '设置为UDP协义
    Winsock1.LocalPort = 10 '设置计算机的端口,随便设置,不过两个要一样
    Winsock1.RemotePort = 10
    my = Winsock1.LocalIP '取得自己的IP地址,是不要的
    Winsock1.RemoteHost = my '这里应该是设置为别人计算机的IP地址,由于自己是单机,所以就设置成自己的,自己给自己发信息
    End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long) '取得数据时发生
    Dim Tmp As String
    Winsock1.GetData Tmp, vbString '取得数据
    Tmp = "对方位址:" + Winsock1.RemoteHostIP + "发言内容为-->" + Tmp
    txtMess.Text = Tmp + Chr$(13) + Chr$(10) + txtMess.Text
    End SubPrivate Sub Command1_Click() '发送信息
    Winsock1.SendData txtSend.Text
    End Sub补充:若是想要同時多人聊天的话,则你的RemoteHost 需要将最后面的地址设置为255(广播节点)才行
      

  4.   

    那我winsock.bind 、自己的端口对方的断口与对方IP怎么设置?我设置还是这个问题。