码迷,mamicode.com
首页 > 编程语言 > 详细

java网络编程3-Socket

时间:2014-10-30 16:53:03      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:style   io   color   os   java   sp   数据   on   bs   

// 有参构造函数创建的socket会访问网络,无参的则不会
//Socket socket=new Socket("www.baidu.com",80);


// 当本地端口为0则表明由系统随机分配端口
//Socket socket=new Socket("www.baidu.com",80,InetAddress.getByName("localhost"),0);

 

 

Socket socket = new Socket();
//通过connect方法还能指定连接的超时时间,socket的设置最好在connect方法之前调用相关方法
socket.connect(new InetSocketAddress(InetAddress.getByName("www.baidu.com"), 80),5000);

 

try {
  if(socket!=null){
  //socket关闭的时候由于客户端可能先关闭所以会异常,这时不用处理异常
  socket.close();
  }
} catch (Exception e) {
}


//socket即使关闭也能获取相关的信息
System.out.println(socket.getInetAddress());


//判断sokcet是否有连接过远程机器
System.out.println(socket.isConnected());
//判断socket是否关闭,socket没有连接过也返回false
System.out.println(socket.isClosed());
//正确判断socket是否打开
System.out.println(socket.isConnected() && !socket.isClosed());

//判断socket是否有绑定过本地端口
System.out.println(socket.isBound());


//获取输入和输出流,可获取远程的数据和给远程发送数据,当它们任何一个关闭,socket也会关闭
socket.getInputStream();
socket.getOutputStream();


//socket关闭的时候,输入和输出流都会自动关闭,下面的方法只关闭相关的流
socket.shutdownInput();
socket.shutdownOutput();

 

//设置读取数据超时时间,单位ms
socket.setSoTimeout(1000);


//可以在socket关闭后对象回收后再获取重复利用
SocketAddress address=new InetSocketAddress("www.baidu.com",80);

java网络编程3-Socket

标签:style   io   color   os   java   sp   数据   on   bs   

原文地址:http://www.cnblogs.com/mu-mu/p/4062919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!