Komunikacja UDP laptop - android
Ostatnio zmodyfikowano 2018-04-18 09:56
Azaks Temat założony przez niniejszego użytkownika |
Komunikacja UDP laptop - android » 2018-04-17 15:16:29 Witam, na wstępie zaznaczę, że na razie w temacie komunikacji, programowania raczej raczkuję także mogą pojawić się babole, ale kto nie próbuje... :) To tak , chcę skomunikować się za pomocą laptopa z telefonem z androidem. Od strony "fizycznej" wygląda to tak: w telefonie ściągam UDP Sender, włączam te samo Wi-fi co w laptopie, wpisuje w UDP sender IP wi-fi, port na którym działa program i próbuję coś wysłać, w komputerze zaś, mam odpalony w tym czasie program do komunikacji. Ale ciągle jest Waiting for data. Próbowałem w IP serwera wpisywać jakieś inne IP niż to wifi, ale też nic nie działa. Od strony technicznej wrzucam kod i screeny konfiguracji : #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <sys/socket.h>
#define SERWER_PORT 8888 #define SERWER_IP "192.168.17.128"
int main() { struct sockaddr_in serwer = { .sin_family = AF_INET, .sin_port = htons( SERWER_PORT ) }; if( inet_pton( AF_INET, SERWER_IP, & serwer.sin_addr ) <= 0 ) { perror( "inet_pton() ERROR" ); exit( 1 ); } const int socket_ = socket( AF_INET, SOCK_DGRAM, 0 ); if(( socket_ ) < 0 ) { perror( "socket() ERROR" ); exit( 2 ); } char buffer[ 4096 ] = { }; socklen_t len = sizeof( serwer ); if( bind( socket_,( struct sockaddr * ) & serwer, len ) < 0 ) { perror( "bind() ERROR" ); exit( 3 ); } while( 1 ) { struct sockaddr_in client = { }; memset( buffer, 0, sizeof( buffer ) ); printf( "Waiting for connection...\n" ); if( recvfrom( socket_, buffer, sizeof( buffer ), 0,( struct sockaddr * ) & client, & len ) < 0 ) { perror( "recvfrom() ERROR" ); exit( 4 ); } printf( "|Message from client|: %s \n", buffer ); char buffer_ip[ 128 ] = { }; printf( "|Client ip: %s port: %d|\n", inet_ntop( AF_INET, & client.sin_addr, buffer_ip, sizeof( buffer_ip ) ), ntohs( client.sin_port ) ); strncpy( buffer, "Message for client", sizeof( buffer ) ); if( sendto( socket_, buffer, strlen( buffer ), 0,( struct sockaddr * ) & client, len ) < 0 ) { perror( "sendto() ERROR" ); exit( 5 ); } } shutdown( socket_, SHUT_RDWR ); }
Zdjęcia: https://i.imgur.com/WX2URFa.png/https://i.imgur.com/W13H2We.png |
|
darko202 |
» 2018-04-18 09:56:59 |
|
« 1 » |