Inheritance diagram for net.alhem.jsockets.TcpSocket:
Public Member Functions | |
TcpSocket (SocketHandler h, int ilen, int olen) | |
Creates a new instance of TcpSocket. | |
TcpSocket (SocketHandler h) | |
Socket | Create () |
void | OnInitialOps () |
void | Open (String host, int port) |
void | OnRead () |
void | OnDelete () |
void | ReadLine () |
void | Send (String str) |
void | SendBuf (byte[] bbuf, int l) |
void | OnWrite () |
Protected Attributes | |
ByteBuffer | m_ibuf |
ByteBuffer | m_obuf |
StringBuffer | m_line |
Private Attributes | |
int | m_ilen |
int | m_olen |
Definition at line 38 of file TcpSocket.java.
|
Creates a new instance of TcpSocket.
Definition at line 42 of file TcpSocket.java. References net.alhem.jsockets.TcpSocket.m_ibuf, net.alhem.jsockets.TcpSocket.m_ilen, net.alhem.jsockets.TcpSocket.m_line, net.alhem.jsockets.TcpSocket.m_obuf, and net.alhem.jsockets.TcpSocket.m_olen. Referenced by net.alhem.jsockets.TcpSocket.Create(). 00043 { 00044 super(h); 00045 m_ilen = ilen; 00046 m_ibuf = ByteBuffer.allocate(ilen); 00047 m_olen = olen; 00048 m_obuf = ByteBuffer.allocate(olen); 00049 m_line = new StringBuffer(4096); 00050 } // TcpSocket
|
|
Definition at line 51 of file TcpSocket.java. 00052 {
00053 this(h, 16384, 30000);
00054 }
|
|
Implements net.alhem.jsockets.Socket. Reimplemented in net.alhem.jsockets.HttpGetSocket. Definition at line 55 of file TcpSocket.java. References net.alhem.jsockets.Socket.Handler(), net.alhem.jsockets.TcpSocket.m_ilen, net.alhem.jsockets.TcpSocket.m_olen, and net.alhem.jsockets.TcpSocket.TcpSocket().
|
|
Reimplemented from net.alhem.jsockets.Socket. Definition at line 131 of file TcpSocket.java. References net.alhem.jsockets.Socket.GetChannel(), net.alhem.jsockets.Socket.Handler(), and net.alhem.jsockets.SocketHandler.LogError(). 00132 { 00133 SocketChannel sc = (SocketChannel)GetChannel(); 00134 try 00135 { 00136 sc.close(); 00137 } 00138 catch (IOException e) 00139 { 00140 Handler().LogError(this, "OnDelete", 0, e.toString(), SocketHandler.LOG_LEVEL_ERROR); 00141 } 00142 } // OnDelete
|
|
Implements net.alhem.jsockets.Socket. Definition at line 59 of file TcpSocket.java. References net.alhem.jsockets.Socket.Connecting(), and net.alhem.jsockets.Socket.GetKey(). 00060 { 00061 if (Connecting()) 00062 { 00063 GetKey().interestOps(SelectionKey.OP_CONNECT); 00064 } 00065 else 00066 { 00067 GetKey().interestOps(SelectionKey.OP_READ); 00068 } 00069 } // OnInitialOps
|
|
Reimplemented from net.alhem.jsockets.Socket. Reimplemented in net.alhem.jsockets.HTTPSocket. Definition at line 96 of file TcpSocket.java. References net.alhem.jsockets.Socket.GetChannel(), net.alhem.jsockets.Socket.Handler(), net.alhem.jsockets.SocketHandler.LogError(), net.alhem.jsockets.TcpSocket.m_ibuf, net.alhem.jsockets.Socket.OnRawData(), and net.alhem.jsockets.Socket.SetCloseAndDelete(). 00097 { 00098 m_ibuf.clear(); 00099 try 00100 { 00101 SocketChannel sc = (SocketChannel)GetChannel(); 00102 int n = sc.read(m_ibuf); 00103 m_ibuf.flip(); 00104 if (n == -1) 00105 { 00106 Handler().LogError(this, "OnRead", 0, "error while reading", SocketHandler.LOG_LEVEL_FATAL); 00107 SetCloseAndDelete(); 00108 } 00109 else 00110 if (n == 0) 00111 { 00112 } 00113 else 00114 if (n > 0 && n == m_ibuf.limit() ) 00115 { 00116 OnRawData(m_ibuf, n); 00117 } 00118 else 00119 { 00120 Handler().LogError(this, "OnRead", 0, "ibuf.limit != n (buffer cleared)", SocketHandler.LOG_LEVEL_ERROR); 00121 m_ibuf.clear(); 00122 } 00123 } 00124 catch (Exception e) 00125 { 00126 Handler().LogError(this, "OnRead", 0, e.toString(), SocketHandler.LOG_LEVEL_FATAL); 00127 SetCloseAndDelete(); 00128 } 00129 } // OnRead
|
|
Reimplemented from net.alhem.jsockets.Socket. Definition at line 181 of file TcpSocket.java. References net.alhem.jsockets.Socket.GetChannel(), net.alhem.jsockets.Socket.Handler(), net.alhem.jsockets.SocketHandler.LogError(), net.alhem.jsockets.TcpSocket.m_obuf, and net.alhem.jsockets.Socket.SetCloseAndDelete(). Referenced by net.alhem.jsockets.TcpSocket.SendBuf(). 00182 { 00183 m_obuf.flip(); 00184 try 00185 { 00186 SocketChannel sc = (SocketChannel)GetChannel(); 00187 int n = sc.write(m_obuf); 00188 System.out.println(n + " bytes written"); 00189 } 00190 catch (Exception e) 00191 { 00192 Handler().LogError(this, "OnWrite", 0, e.toString(), SocketHandler.LOG_LEVEL_FATAL); 00193 SetCloseAndDelete(); 00194 } 00195 } // OnWrite
|
|
Definition at line 71 of file TcpSocket.java. References net.alhem.jsockets.Socket.attach(), net.alhem.jsockets.Socket.Handler(), net.alhem.jsockets.SocketHandler.LogError(), net.alhem.jsockets.Socket.SetCloseAndDelete(), and net.alhem.jsockets.Socket.SetConnecting(). 00072 { 00073 InetSocketAddress isa = new InetSocketAddress(host, port); 00074 try 00075 { 00076 SocketChannel sc = SocketChannel.open(); 00077 // SocketChannel sc = (SocketChannel)GetChannel(); 00078 sc.configureBlocking(false); 00079 if (!sc.connect(isa)) 00080 { 00081 SetConnecting(); 00082 } 00083 else 00084 { 00085 // connection immediately ok 00086 } 00087 attach(sc); 00088 } 00089 catch (java.io.IOException e) 00090 { 00091 Handler().LogError(this, "Open", 0, e.toString(), SocketHandler.LOG_LEVEL_FATAL); 00092 SetCloseAndDelete(); 00093 } 00094 } // Open
|
|
Reimplemented from net.alhem.jsockets.Socket. Reimplemented in net.alhem.jsockets.HTTPSocket. Definition at line 144 of file TcpSocket.java. References net.alhem.jsockets.TcpSocket.m_ibuf, net.alhem.jsockets.TcpSocket.m_line, and net.alhem.jsockets.Socket.OnLine(). 00145 { 00146 for (int i = 0; i < m_ibuf.limit(); ++i) 00147 { 00148 byte b = m_ibuf.get( i ); 00149 String aChar = new Character((char)b).toString(); 00150 switch (b) 00151 { 00152 case 13: // ignore CR 00153 break; 00154 case 10: // LF 00155 OnLine( m_line.toString() ); 00156 m_line.delete(0, m_line.length()); 00157 break; 00158 default: 00159 m_line.append(aChar); 00160 } 00161 } // while 00162 }
|
|
Definition at line 164 of file TcpSocket.java. References net.alhem.jsockets.TcpSocket.SendBuf(). Referenced by net.alhem.jsockets.HttpGetSocket.OnConnect(). 00165 { 00166 byte[] bbuf = str.getBytes(); 00167 SendBuf(bbuf, bbuf.length); 00168 } // Send
|
|
Definition at line 170 of file TcpSocket.java. References net.alhem.jsockets.TcpSocket.m_obuf, and net.alhem.jsockets.TcpSocket.OnWrite(). Referenced by net.alhem.jsockets.TcpSocket.Send(). 00171 { 00172 int n = 0; // assume obuf empty 00173 m_obuf.clear(); // make assumption valid and break buffered output 00174 m_obuf.put(bbuf); 00175 if (n == 0) 00176 { 00177 OnWrite(); 00178 } 00179 } // SendBuf
|
|
Definition at line 200 of file TcpSocket.java. Referenced by net.alhem.jsockets.TcpSocket.OnRead(), net.alhem.jsockets.TcpSocket.ReadLine(), and net.alhem.jsockets.TcpSocket.TcpSocket(). |
|
Definition at line 198 of file TcpSocket.java. Referenced by net.alhem.jsockets.TcpSocket.Create(), and net.alhem.jsockets.TcpSocket.TcpSocket(). |
|
Definition at line 202 of file TcpSocket.java. Referenced by net.alhem.jsockets.TcpSocket.ReadLine(), and net.alhem.jsockets.TcpSocket.TcpSocket(). |
|
Definition at line 201 of file TcpSocket.java. Referenced by net.alhem.jsockets.TcpSocket.OnWrite(), net.alhem.jsockets.TcpSocket.SendBuf(), and net.alhem.jsockets.TcpSocket.TcpSocket(). |
|
Definition at line 199 of file TcpSocket.java. Referenced by net.alhem.jsockets.TcpSocket.Create(), and net.alhem.jsockets.TcpSocket.TcpSocket(). |