我用UDP协议,如果有一端看成是服务器端,他不知道客户端的IP和端口号,而每个客户端都知道服务器的,等客户端发送给服务器数据这是,服务器会知道次客户端的IP和端口号吗?如果有连个客户端发送数据来,服务器该如何辨识并争取返还数据给正确的客户端呢?第二个问题的是,该如何发送数据数据呢?winsock.senddata ...     这后的参数该怎么写表示发送数组呢?谢谢了

解决方案 »

  1.   

    1.可以,但是要发送两次才行,我也不知道为什么
    2.winsock.senddata MyData
      

  2.   

    2.数组比如是str1()winsock.senddata str1第一个不太明白....
      

  3.   

    谢谢!除了这个外衣问题,我用UDP一次发送上兆的数据,接收不能接受完,这个问题该怎么解决呢。用TCP可以。
      

  4.   

    用UDP接收数据解不了多少就断,该怎么解决呢?
      

  5.   

    BTW,为什么UDP接收不了多少数据呢?
      

  6.   

    udp本来就是不是非常完整的类型不保证所有的包都可以发送到目的地的你可以从服务器端验证 收到了发回一个信息 然后客户端再发下一个
    这样就有保证了
      

  7.   

    1.getdate()时候的 2个属性可以获得RemotePort ,RemoteHostIP发送的时候udp有点特殊 他必须指定ip或者getdate()中直接发送
    01.在getdate()直接回发就是传送到客户端
    02.也可以用前面2个属性
    winsock.RemoteHost=目的地ip或者域名
    winsock.RemotePort=目的地端口
    winscok.senddate 数据
    如果采用02每次发送都要这样
    winsock.RemoteHost=目的地ip或者域名
    winsock.RemotePort=目的地端口
    winscok.senddate 数据
    2.winsock.senddata 变量 这个由变量的类型决定的 
    支持 string 和 byte() 其他的数组不支持 不过可以用copymoney转换成byte()
      

  8.   

    >我用UDP协议,如果有一端看成是服务器端,他不知道客户端的IP和端口号,而每个客户端都知道服务器的,等客户端发送给服务器数据这是,服务器会知道次客户端的IP和端口号吗?如果有连个客户端发送数据来,服务器该如何辨识并争取返还数据给正确的客户端呢?UDP 协议是一个广播协议,像你所说的情况,接受端无法自动获得发送端的地址和端口号,都需要客户通知它。况且它是“点对点”协议,不是为服务器类型应用设计的。方法1:
    一次只接收一个客户端。
    客户端首先发一条通知消息,说明自己的地址和端口号。服务器在绑定本地端口的情况下,重新设置远端地址和端口号。接下来就可以通讯了。唯一的要点,就是识别通知消息和其他数据报。方法2:
    类似 TCP 协议多客户的情况。
    保留一个端口作为客户申请通道。事先绑定此本地端口。当用户向这个端口发送其地址和端口号后,Load 一个 WinSock 数组成员,绑定到一个新端口,设置客户地址和端口;并通过这个新的 Winsock 通知客户新的端口号。
    客户接收到后,重新设置远端端口号,作为数据通讯通道。
    由于一一建立了点对点通讯,哪个 Winsock 控件成员接收的数据,就有哪个回复。
      

  9.   

    感谢各位指导和赐教 ,特别感谢zyg0,of123() ,你们的想法对我太宝贵了,谢谢了!
    我是这里的菜鸟,再请教一下我该怎么送分阿?呵呵