annotate network.c @ 840:9141234715a2

Added initialisation of URL pointers. Added null terminaison to string.
author bertrand
date Sun, 20 May 2001 12:42:14 +0000
parents b8cecdc0c67f
children c906b7600fc6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
833
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
1 #include <unistd.h>
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
2 #include <sys/types.h>
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
3 #include <sys/socket.h>
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
4
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
5 #include <stdio.h>
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
6
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
7 int
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
8 connect2Server(char *host, int port) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
9 int socket_server_fd;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
10 struct sockaddr_in server_address;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
11 printf(">>>> connect2Server [%s@%d]\n", host, port );
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
12 socket_server_fd = socket(AF_INET, SOCK_STREAM, 0);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
13 if( socket_server_fd==-1 ) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
14 perror("Failed to create socket");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
15 exit(1);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
16 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
17
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
18 if( isalpha(host[0]) ) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
19 struct hostent *hp;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
20 if( (hp=gethostbyname( host ))==NULL ) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
21 printf("Unknown host: %s\n", host);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
22 exit(1);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
23 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
24 memcpy( &server_address.sin_addr.s_addr, hp->h_addr, hp->h_length );
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
25 } else {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
26 inet_pton(AF_INET, host, &server_address.sin_addr);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
27 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
28 server_address.sin_family=AF_INET;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
29 server_address.sin_port=htons(port);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
30
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
31 if( connect( socket_server_fd, (struct sockaddr*)&server_address, sizeof(server_address) )==-1 ) {
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
32 perror("Failed to connect to server");
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
33 close(socket_Stream_fd);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
34 exit(1);
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
35 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
36 return socket_server_fd;
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
37 }
b8cecdc0c67f Starting implementation of ASF network streaming.
bertrand
parents:
diff changeset
38