#include <TcpSocket.hpp>
Inheritance diagram for TcpSocket::
|
Definition at line 15 of file TcpSocket.cpp. 00016 : Socket((struct sockaddr *)NULL, PF_INET, SOCK_STREAM, 0) 00017 { 00018 struct sockaddr_in *s_in = (struct sockaddr_in *)lsa; 00019 remoteAddress = NULL; 00020 remotePort = 0; 00021 localPort = port; 00022 s_in->sin_family = AF_INET; 00023 s_in->sin_port = htons(localPort); 00024 s_in->sin_addr.s_addr = htonl(INADDR_ANY); 00025 memset(&(s_in->sin_zero), '\0', 8); 00026 bind(); 00027 } |
|
Definition at line 29 of file TcpSocket.cpp. |
|
Definition at line 35 of file TcpSocket.cpp. 00036 : Socket((struct sockaddr *)NULL, PF_INET, SOCK_STREAM, 0) 00037 { 00038 struct sockaddr_in *s_in = (struct sockaddr_in *)lsa; 00039 remoteAddress = NULL; 00040 remotePort = 0; 00041 localPort = port; 00042 s_in->sin_family = AF_INET; 00043 s_in->sin_port = htons(localPort); 00044 s_in->sin_addr.s_addr = address.getAddress2(); 00045 memset(&(s_in->sin_zero), '\0', 8); 00046 bind(); 00047 } |
|
Definition at line 49 of file TcpSocket.cpp. 00050 : Socket((struct sockaddr *)NULL, PF_INET, SOCK_STREAM, 0) 00051 { 00052 struct sockaddr_in *ls_in = (struct sockaddr_in *)lsa, *rs_in = (struct sockaddr_in *)rsa; 00053 this->localPort = localPort; 00054 ls_in->sin_family = AF_INET; 00055 ls_in->sin_port = htons(this->localPort); 00056 ls_in->sin_addr.s_addr = localAddress.getAddress2(); 00057 memset(&(ls_in->sin_zero), '\0', 8); 00058 bind(); 00059 remoteAddress = new InetAddress(remoteAddr); 00060 this->remotePort = remotePort; 00061 ls_in->sin_family = AF_INET; 00062 ls_in->sin_port = htons(this->remotePort); 00063 ls_in->sin_addr.s_addr = remoteAddress->getAddress2(); 00064 memset(&(ls_in->sin_zero), '\0', 8); 00065 connect(); 00066 } |
|
Definition at line 105 of file TcpSocket.cpp. 00106 : Socket((struct sockaddr *)NULL, PF_INET, SOCK_STREAM, 0) 00107 { 00108 struct sockaddr_in *s_in = (struct sockaddr_in *)lsa; 00109 InetAddress *I = new InetAddress(host); 00110 remoteAddress = NULL; 00111 remotePort = 0; 00112 localPort = port; 00113 s_in->sin_family = AF_INET; 00114 s_in->sin_port = htons(localPort); 00115 s_in->sin_addr.s_addr = I->getAddress2(); 00116 memset(&(s_in->sin_zero), '\0', 8); 00117 bind(); 00118 delete I; 00119 } |
|
Definition at line 121 of file TcpSocket.cpp. 00122 : Socket((struct sockaddr *)NULL, PF_INET, SOCK_STREAM, 0) 00123 { 00124 struct sockaddr_in *ls_in = (struct sockaddr_in *)lsa, *rs_in = (struct sockaddr_in *)rsa; 00125 InetAddress *remoteAddr = new InetAddress(remoteHost); 00126 this->localPort = localPort; 00127 ls_in->sin_family = AF_INET; 00128 ls_in->sin_port = htons(this->localPort); 00129 ls_in->sin_addr.s_addr = localAddress.getAddress2(); 00130 memset(&(ls_in->sin_zero), '\0', 8); 00131 bind(); 00132 this->remotePort = remotePort; 00133 ls_in->sin_family = AF_INET; 00134 ls_in->sin_port = htons(this->remotePort); 00135 ls_in->sin_addr.s_addr = remoteAddress->getAddress2(); 00136 memset(&(ls_in->sin_zero), '\0', 8); 00137 connect(); 00138 delete remoteAddr; 00139 } |
|
Definition at line 174 of file TcpSocket.cpp. 00175 { 00176 return remoteAddress->getHostName(); 00177 } |
|
Definition at line 152 of file TcpSocket.cpp. 00153 { 00154 return *remoteAddress; 00155 } |
|
Definition at line 316 of file TcpSocket.cpp. 00317 { 00318 int ret = 0; 00319 int rets = sizeof(int); 00320 if(getSockOpt(SOL_SOCKET,SO_KEEPALIVE,(void *)&ret,(socklen_t *) &rets) != 0) { 00321 // perror("TcpSocket::setTcpNoDelay() FAIL"); 00322 return -1; 00323 } 00324 return ret; 00325 } |
|
Definition at line 146 of file TcpSocket.cpp. 00147 { 00148 InetAddress I(inet_ntoa(((struct sockaddr_in*)lsa)->sin_addr)); 00149 return I; 00150 } |
|
Definition at line 169 of file TcpSocket.cpp. 00170 { 00171 return inet_ntoa(((struct sockaddr_in*)lsa)->sin_addr); 00172 } |
|
Definition at line 180 of file TcpSocket.cpp. 00181 { 00182 return localPort; 00183 } |
|
Definition at line 185 of file TcpSocket.cpp. 00186 { 00187 return remotePort; 00188 } |
|
Definition at line 305 of file TcpSocket.cpp. 00306 { 00307 int ret = 0; 00308 int rets = sizeof(int); 00309 if(getSockOpt(SOL_SOCKET,SO_RCVBUF,(void *)&ret,(socklen_t *) &rets) != 0) { 00310 // perror("TcpSocket::setTcpNoDelay() FAIL"); 00311 return -1; 00312 } 00313 return ret; 00314 } |
|
Definition at line 294 of file TcpSocket.cpp. 00295 { 00296 int ret = 0; 00297 int rets = sizeof(int); 00298 if(getSockOpt(SOL_SOCKET,SO_SNDBUF,(void *)&ret,(socklen_t *) &rets) != 0) { 00299 // perror("TcpSocket::setTcpNoDelay() FAIL"); 00300 return -1; 00301 } 00302 return ret; 00303 } |
|
Definition at line 273 of file TcpSocket.cpp. 00274 { 00275 struct linger ret; 00276 ret.l_onoff = 0; 00277 ret.l_linger = 0; 00278 int rets = sizeof(int); 00279 if(setSockOpt(SOL_SOCKET,SO_LINGER,(void *)&ret,rets) != 0) 00280 return -1; 00281 // perror("TcpSocket::setSoLinger() FAIL"); 00282 if(rets != sizeof(struct linger)) 00283 return 0; 00284 if((BOOL)ret.l_onoff == false) 00285 return 0; 00286 return ret.l_linger;; 00287 } |
|
Definition at line 289 of file TcpSocket.cpp. 00290 { 00291 return -1; 00292 } |
|
Definition at line 259 of file TcpSocket.cpp. 00260 { 00261 struct protoent *pe; 00262 BOOL ret = false; 00263 int rets = sizeof(int); 00264 00265 pe = getprotobyname("TCP"); 00266 if(getSockOpt(pe->p_proto,TCP_NODELAY,(void *)&ret,(socklen_t*)&rets) != 0) { 00267 // perror("TcpSocket::setTcpNoDelay() FAIL"); 00268 return false; 00269 } 00270 return ret; 00271 } |
|
Definition at line 327 of file TcpSocket.cpp. Referenced by main().
00328 { 00329 int l = len; 00330 l = recv(sck,(void *)buffer, len, flags); 00331 return l; 00332 } |
|
Definition at line 335 of file TcpSocket.cpp. Referenced by main().
00336 { 00337 int l = len; 00338 l = ::send(sck,(void *)buffer, len, flags); 00339 return l; 00340 } |
|
Definition at line 248 of file TcpSocket.cpp. 00249 { 00250 if(setSockOpt(SOL_SOCKET,SO_KEEPALIVE,(void *)&on,sizeof(int)) != 0) { 00251 // perror("TcpSocket::setTcpNoDelay() FAIL"); 00252 return -1; 00253 } 00254 return 0; 00255 } |
|
Definition at line 239 of file TcpSocket.cpp. 00240 { 00241 if(setSockOpt(SOL_SOCKET,SO_RCVBUF,(void *)&size,sizeof(int)) != 0) { 00242 // perror("TcpSocket::setTcpNoDelay() FAIL"); 00243 return -1; 00244 } 00245 return 0; 00246 } |
|
Definition at line 230 of file TcpSocket.cpp. 00231 { 00232 if(setSockOpt(SOL_SOCKET,SO_SNDBUF,(void *)&size,sizeof(int)) != 0) { 00233 // perror("TcpSocket::setTcpNoDelay() FAIL"); 00234 return -1; 00235 } 00236 return 0; 00237 } |
|
Definition at line 203 of file TcpSocket.cpp. 00204 { 00205 struct linger lin; 00206 lin.l_onoff = on; 00207 lin.l_linger = linger; 00208 if(setSockOpt(SOL_SOCKET,SO_LINGER,(void *)&lin,sizeof(struct linger)) != 0) 00209 return -1; 00210 // perror("TcpSocket::setSoLinger() FAIL"); 00211 00212 return 0; 00213 } |
|
Definition at line 215 of file TcpSocket.cpp. 00216 { 00217 #if 0 00218 if(setSockOpt(SOL_SOCKET,SO_TIMEOUT,(void *)&timeout,sizeof(int)) != 0) 00219 return -1; 00220 // perror("TcpSocket::setSoTimeout() FAIL"); 00221 00222 return 0; 00223 #else 00224 errno = EBADF; 00225 return -1; 00226 #endif 00227 00228 } |
|
Definition at line 191 of file TcpSocket.cpp. 00192 { 00193 struct protoent *pe; 00194 00195 pe = getprotobyname("TCP"); 00196 if(setSockOpt(pe->p_proto,TCP_NODELAY,(void *)&on,sizeof(int)) != 0) { 00197 // perror("TcpSocket::setTcpNoDelay() FAIL"); 00198 return -1; 00199 } 00200 return 0; 00201 } |
|
Definition at line 72 of file TcpSocket.hpp. |
|
Definition at line 70 of file TcpSocket.hpp. |
|
Definition at line 71 of file TcpSocket.hpp. |