原创  socket编程的注意事项 收藏

socket编程的注意事项:

1.连接超时

   不推荐的写法

m_socket = new Socket(fm_ipaddr,fm_port);

m_socket.setSoTimeout(180000);//读取数据超时设置3m

以上这种写法,在对方端口当掉时,客户端会一直等待连接,并不会抛出异常。所以超时根本没用

推荐写法:

   m_socket = new Socket();
   m_socket.setSoTimeout(180000);//读取数据超时设置3m
   m_socket.connect(new InetSocketAddress(fm_ipaddr,fm_port), 2000);//建立连接超时设置

2.在进行流操作时最好加上以下判断

m_socket.sendUrgentData(0xFF);//判断一下网络是否断开

3.是否关闭输出流和输入流

 对于同一个socket,如果关闭了输出流,则与该输出流关联的socket也会被关闭。所以一般不用关闭流,直接关闭socket就可以了。

以上经过实践证明可行。

发表于 @ 2009年01月17日 09:56:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:ORACLE索引与高性能SQL介绍 | 新一篇:oracle性能优化-共享池调整

  • 发表评论
  • 评论内容:
  •  
Copyright © e3002
Powered by CSDN Blog