summaryrefslogtreecommitdiffstats
path: root/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'network.c')
-rw-r--r--network.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/network.c b/network.c
index f7c3067451..62603ec801 100644
--- a/network.c
+++ b/network.c
@@ -1,27 +1,31 @@
#include <unistd.h>
+#include <netinet/in.h>
+#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
+#include "network.h"
+
int
connect2Server(char *host, int port) {
int socket_server_fd;
struct sockaddr_in server_address;
- printf(">>>> connect2Server [%s@%d]\n", host, port );
+ printf(">>>> connect2Server [%s:%d]\n", host, port );
socket_server_fd = socket(AF_INET, SOCK_STREAM, 0);
if( socket_server_fd==-1 ) {
perror("Failed to create socket");
- exit(1);
+ return -1;
}
if( isalpha(host[0]) ) {
- struct hostent *hp;
- if( (hp=gethostbyname( host ))==NULL ) {
+ struct hostent *hp =(struct hostent*)gethostbyname( host );
+ if( hp==NULL ) {
printf("Unknown host: %s\n", host);
- exit(1);
+ return -1;
}
- memcpy( &server_address.sin_addr.s_addr, hp->h_addr, hp->h_length );
+ memcpy( (void*)&server_address.sin_addr.s_addr, (void*)hp->h_addr, hp->h_length );
} else {
inet_pton(AF_INET, host, &server_address.sin_addr);
}
@@ -30,8 +34,8 @@ connect2Server(char *host, int port) {
if( connect( socket_server_fd, (struct sockaddr*)&server_address, sizeof(server_address) )==-1 ) {
perror("Failed to connect to server");
- close(socket_Stream_fd);
- exit(1);
+ close(socket_server_fd);
+ return -1;
}
return socket_server_fd;
}