zq910515
zq910515
2015-01-13 13:02
采纳率: 46.7%
浏览 1.7k
已采纳

如何使用UDP实时接收接收数据?

DatagramSocket ds = new DatagramSocket(10000);

byte[] buf = new byte[1024];

DatagramPacket dp = new DatagramPacket(buf,0,buf.length);

ds.receive(dp);

String data = new String(dp.getData(), 0, dp.getLength());

ds.close();


上面的代码可以接收UDP发送来的数据。
但我想知道,下面几个问题:
1.怎么实时接收别人发送过来的数据呢?
例:我不知道别人什么时候发数据给我,我该怎么做到实时接收别人发给我的数据?
2.如果没有及时接受别人的发过来的数据,会出现什么状况?
例:别人发送了数据给我,我却没有实时接收,那么这算是发送失败?还是发送过来了,缓存在什么地方?

请高人指点。。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 91program
    91program 2015-01-13 14:17
    已采纳

    Socket 编程,接收最好使用线程来实现

    点赞 评论
  • oyljerry
    oyljerry 2015-01-13 13:57

    while中,在一个线程中一直等待数据
    如果没有接受,就丢包了

    点赞 评论
  • devmiao
    devmiao 2015-01-13 15:53
    点赞 评论

相关推荐