iteye_5871 2012-07-03 20:30
浏览 547
已采纳

linux下如何判断server关闭后socket不可用?

假设在linux上通过杀进程的方式停止socketserver的运行,那么在杀进程前已经建立的socket连接如何判断其已经失效了?
此时判断isClosed为false,isBound和isConnected都是true,而且通过sendUrgentData的方式验证,在windows系统下会抛出异常,可以断定失效,但是在linux下无异常,没办法判断连接失效?想知道在linux下如何判读啊?
测试代码:
Socket socket = new Socket("172.16.132.189", 5656);
socket.setSoTimeout(3000);

    LOG.info("--wait--");
    LOG.info("--do--");
    LOG.info("--isClosed--"+socket.isClosed());
    LOG.info("--isBound--"+socket.isBound());
    LOG.info("--isConnected--"+socket.isConnected());

    socket.sendUrgentData(0xff);
    socket.close();
    LOG.info("--over--");

在执行到LOG.info("--wait--")的时候通过杀进程的方式将sockerserver关闭

  • 写回答

3条回答 默认 最新

  • 爱上一条鱼 2012-07-04 08:57
    关注

    [quote]8. SO_OOBINLINE

      public boolean getOOBInline() throws SocketException
      public void setOOBInline(boolean on) throws SocketException
      如果这个Socket选项打开,可以通过Socket类的sendUrgentData方法向服务器发送一个单字节的数据[/quote]
    你linux服务器SO_OOBINLINE是打开还是关闭的???

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。