parisisalvo
10-11-2005, 16:58
Supponiamo di avere 2 macchine
una con una scheda di rete avente indirizzo 192.168.3.1 (server) di cui conosco l'ip
e un'altra macchina, con scheda di rete 192.168.3.x (con x>1) che si connette al server di cui conosce l'indirizzo.
La connessione TCP avviene con
struct sockaddr_in server_tcp;
server_tcp.sin_family = AF_INET;
server_tcp.sin_port = htons(PORT_TCP);
if ( (inet_pton(AF_INET,"192.168.3.1", &server_tcp.sin_addr)) <= 0)
{
perror("Address creation error");
}
if ((sock_tcp = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
printf(" Mi connetto al server via TCP ... in attessa di risposta\n");
if (connect(sock_tcp, (struct sockaddr *)&server_tcp, sizeof(struct sockaddr)) == -1)
{
perror("connect");
exit(1);
}
Io so l'ip del server, ma se volessi conoscere quello mio?
Ossia l'indirizzo (liv3-ip) della scheda di rete che si sta collegando al server?
una con una scheda di rete avente indirizzo 192.168.3.1 (server) di cui conosco l'ip
e un'altra macchina, con scheda di rete 192.168.3.x (con x>1) che si connette al server di cui conosce l'indirizzo.
La connessione TCP avviene con
struct sockaddr_in server_tcp;
server_tcp.sin_family = AF_INET;
server_tcp.sin_port = htons(PORT_TCP);
if ( (inet_pton(AF_INET,"192.168.3.1", &server_tcp.sin_addr)) <= 0)
{
perror("Address creation error");
}
if ((sock_tcp = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
printf(" Mi connetto al server via TCP ... in attessa di risposta\n");
if (connect(sock_tcp, (struct sockaddr *)&server_tcp, sizeof(struct sockaddr)) == -1)
{
perror("connect");
exit(1);
}
Io so l'ip del server, ma se volessi conoscere quello mio?
Ossia l'indirizzo (liv3-ip) della scheda di rete che si sta collegando al server?