Android 关于java.net.BindException: bind failed: EADDRINUSE (Address already in use)

java.net.BindException: bind failed: EADDRINUSE (Address already in use)

[E/NMPWIFI ( 1189): java.net.BindException: bind failed: EADDRINUSE (Address already in use)W/System.err( 1189): java.net.BindException: bind failed: EADDRINUSE

最近项目使用UDP通信,遇到了绑定异常的情况:udp端口调用close 后不及时释放的问题 ,(原因是多次new  udpsocket  第一个虽然调用close 但是系统不及时关闭,有延迟 ,在第二次new 的时候就会报端口被占用的错误

if (datagramSocket ==null) {

    datagramSocket =new DatagramSocket(port);

    DatagramPacket datagramPacket =new DatagramPacket(message, message.length);

    datagramSocket.setSoTimeout(165000);

    datagramSocket.receive(datagramPacket);

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 多年以前自学Java,在本地做了一些笔记。最近几年流行播客,一方面防止丢失,一方面可以帮助其他小伙伴...
    chaohx阅读 1,036评论 0 3
  • 作者:qq_23473123来源:CSDN原文:https://blog.csdn.net/qq_23473123...
    洛的俠阅读 391评论 0 1
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,418评论 0 10
  • UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。简单来说,当一台计算机向另外一台计算机...
    CQ_TYL阅读 543评论 0 0
  • 当了三次的巨人助教之后,选择不干了。每周日在那里两个小时感觉收获不到什么,还坐的腰酸背痛。本来想兼职赚点零花钱,可...
    瑾_174e阅读 232评论 2 1