View Javadoc

1   // ////////////////////////////////////////////////////////////////////////////
2   // dexterIM - Instant Messaging Framework
3   // Copyright (C) 2003 Christoph Walcher
4   //
5   // This program is free software; you can redistribute it and/or modify
6   // it under the terms of the GNU General Public License as published by
7   // the Free Software Foundation; either version 2 of the License, or
8   // (at your option) any later version.
9   //
10  // This program is distributed in the hope that it will be useful,
11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  // GNU General Public License for more details.
14  //
15  // You should have received a copy of the GNU General Public License
16  // along with this program; if not, write to the Free Software
17  // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  //////////////////////////////////////////////////////////////////////////////
19  package net.sf.dexterim.msn.io;
20  
21  import java.io.IOException;
22  import java.net.InetSocketAddress;
23  import java.nio.ByteBuffer;
24  import java.nio.channels.SocketChannel;
25  
26  import org.apache.commons.logging.Log;
27  import org.apache.commons.logging.LogFactory;
28  
29  
30  /***
31   * @author christoph
32   *
33   */
34  public class MsnIMChannel {
35  	private SocketChannel channel;
36  	private ByteBuffer buffer;
37  
38  	private Log log;
39  	
40  	public MsnIMChannel() throws IOException {
41  		channel = SocketChannel.open();
42  		this.log = LogFactory.getLog(getClass());
43  	}
44  
45  	public void connect(InetSocketAddress address) throws IOException {
46  		log.debug("Connect to address " + address);
47  		channel.connect(address);
48  	}
49  
50  	public void close() throws IOException {
51  		log.debug("Closing Connection");
52  		channel.close();
53  	}
54  	
55  	public void read() throws IOException {
56  		buffer = ByteBuffer.allocate(10);
57  		channel.read(buffer);
58  		
59  		buffer.asCharBuffer();
60  	}
61  }