|
|
@ -123,12 +123,9 @@ TCP* TCP::Accept() {
|
|
|
|
#else
|
|
|
|
#else
|
|
|
|
newsock = accept (sock, (struct sockaddr *) &cli_addr, &cli_len);
|
|
|
|
newsock = accept (sock, (struct sockaddr *) &cli_addr, &cli_len);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
printf ("%s:%d newsock:%d", __FILE__, __LINE__, newsock);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (newsock < 0) return NULL;
|
|
|
|
if (newsock < 0) return NULL;
|
|
|
|
tcp = new TCP();
|
|
|
|
tcp = new TCP();
|
|
|
|
tcp->SetSocket(newsock, &cli_addr, cli_len);
|
|
|
|
tcp->SetSocket(newsock, &cli_addr, cli_len);
|
|
|
|
printf ("%s:%d setup TCP object sock:%d", __FILE__, __LINE__, tcp->GetSocket());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return tcp;
|
|
|
|
return tcp;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -227,7 +224,6 @@ long int TCP::Read(char *buffer, long int len) {
|
|
|
|
|
|
|
|
|
|
|
|
if (sock <= 0) return -2;
|
|
|
|
if (sock <= 0) return -2;
|
|
|
|
len_ = recv (sock, buffer, len, 0);
|
|
|
|
len_ = recv (sock, buffer, len, 0);
|
|
|
|
printf ("read: %d\n", len_);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (len_ < 0 && errno == EAGAIN) len_ = 0;
|
|
|
|
if (len_ < 0 && errno == EAGAIN) len_ = 0;
|
|
|
|
else if (len_ < 0 && errno != EAGAIN) {
|
|
|
|
else if (len_ < 0 && errno != EAGAIN) {
|
|
|
@ -287,7 +283,7 @@ void TCP::Close() {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void TCP::SetSocket(int s, struct sockaddr_storage *saddr, int saddrlen) {
|
|
|
|
void TCP::SetSocket(SOCKET s, struct sockaddr_storage *saddr, int saddrlen) {
|
|
|
|
char host[NET_HOSTLEN];
|
|
|
|
char host[NET_HOSTLEN];
|
|
|
|
char port[NET_PORTLEN];
|
|
|
|
char port[NET_PORTLEN];
|
|
|
|
int err;
|
|
|
|
int err;
|
|
|
|